june 2019 rocket universe unv-1211-admin-2 · rocket universe administering universe on windows and...

312
Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Upload: others

Post on 31-Jul-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Rocket UniVerse

Administering UniVerse on Windows and UNIXPlatforms

Version 12.1.1

June 2019UNV-1211-ADMIN-2

Page 2: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

2

NoticesEdition

Publication date: June 2019Book number: UNV-1211-ADMIN-2Product version: Version 12.1.1

Copyright© Rocket Software, Inc. or its affiliates 1985–2019. All Rights Reserved.

Trademarks

Rocket is a registered trademark of Rocket Software, Inc. For a list of Rocket registered trademarks goto: www.rocketsoftware.com/about/legal. All other products or services mentioned in this documentmay be covered by the trademarks, service marks, or product names of their respective owners.

Examples

This information might contain examples of data and reports. The examples include the names ofindividuals, companies, brands, and products. All of these names are fictitious and any similarity tothe names and addresses used by an actual business enterprise is entirely coincidental.

License agreement

This software and the associated documentation are proprietary and confidential to Rocket Software,Inc. or its affiliates, are furnished under license, and may be used and copied only in accordance withthe terms of such license.

Note: This product may contain encryption technology. Many countries prohibit or restrict theuse, import, or export of encryption technologies, and current use, import, and export regulationsshould be followed when exporting this product.

Page 3: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

3

Corporate informationRocket Software, Inc. develops enterprise infrastructure products in four key areas: storage, networks,and compliance; database servers and tools; business information and analytics; and applicationdevelopment, integration, and modernization.

Website: www.rocketsoftware.com

Rocket Global Headquarters77 4th Avenue, Suite 100Waltham, MA 02451-1468USA

To contact Rocket Software by telephone for any reason, including obtaining pre-sales informationand technical support, use one of the following telephone numbers.

Country Toll-free telephone number

United States 1-855-577-4323Australia 1-800-823-405Belgium 0800-266-65Canada 1-855-577-4323China 400-120-9242France 08-05-08-05-62Germany 0800-180-0882Italy 800-878-295Japan 0800-170-5464Netherlands 0-800-022-2961New Zealand 0800-003210South Africa 0-800-980-818United Kingdom 0800-520-0439

Contacting Technical Support

The Rocket Community is the primary method of obtaining support. If you have current support andmaintenance agreements with Rocket Software, you can access the Rocket Community and reporta problem, download an update, or read answers to FAQs. To log in to the Rocket Community or torequest a Rocket Community account, go to www.rocketsoftware.com/support.

In addition to using the Rocket Community to obtain support, you can use one of the telephonenumbers that are listed above or send an email to [email protected].

Page 4: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

4

Contents

Notices................................................................................................................................................................................... 2

Corporate information......................................................................................................................................................... 3

Chapter 1: Introduction......................................................................................................................................................13What is UniVerse administration?......................................................................................................................... 13

Who is a UniVerse administrator?............................................................................................................. 13UniVerse files...........................................................................................................................................................13

Nonhashed files.......................................................................................................................................... 14Hashed files.................................................................................................................................................14B-tree files................................................................................................................................................... 14UV account directory files..........................................................................................................................14

UniVerse administration commands.....................................................................................................................16Assigning and unassigning peripheral devices.........................................................................................16UniVerse BASIC programs.......................................................................................................................... 16File and account maintenance.................................................................................................................. 17Managing processes................................................................................................................................... 18Monitoring resources..................................................................................................................................18Task and record locking.............................................................................................................................18National language support........................................................................................................................ 19

The U2 Extensible Administration Tool................................................................................................................ 19Starting XAdmin.......................................................................................................................................... 19

Chapter 2: Starting up and shutting down UniVerse....................................................................................................... 20Setting the user number when starting UniVerse................................................................................................ 20Starting and stopping UniVerse on Windows systems.........................................................................................20

Starting UniVerse services..........................................................................................................................20From the UniVerse control panel.................................................................................................. 21From the Windows control panel..................................................................................................21At the MS-DOS prompt...................................................................................................................21

Stopping UniVerse services........................................................................................................................21From the UniVerse control panel.................................................................................................. 22From the Windows control panel..................................................................................................22At the MS-DOS prompt...................................................................................................................22

Preserving data integrity when you shut down Windows platforms...................................................... 22Starting and stopping UniVerse on UNIX systems............................................................................................... 23

Configuring UniVerse parameters at initialization time...........................................................................25Logging on...................................................................................................................................................25Initializing the UniVerse shell.................................................................................................................... 25

Overview of UNIX startup and shutdown............................................................................................................. 25UNIX startup................................................................................................................................................26UNIX shutdown........................................................................................................................................... 26

Running the UniVerse shutdown script........................................................................................ 27Returning to single-user mode...................................................................................................... 27Shutting down and rebooting a running system......................................................................... 27

Script customization...................................................................................................................................28

Chapter 3: Configurable UniVerse parameters.................................................................................................................29The uvconfig and .uvconfig files............................................................................................................................ 29The uvregen program.............................................................................................................................................29Allocating shared memory..................................................................................................................................... 29Recovering .uvconfig...............................................................................................................................................29The configurable parameters................................................................................................................................ 30Changing configurable parameter values.............................................................................................................51

Page 5: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Contents

5

Changing a configurable parameter with XAdmin................................................................................... 52Editing the uvconfig file manually............................................................................................................ 53

Chapter 4: Accounts........................................................................................................................................................... 55UniVerse accounts.................................................................................................................................................. 55

About UniVerse accounts........................................................................................................................... 55Creating accounts with XAdmin................................................................................................................ 55Viewing or modifying account details.......................................................................................................57Deleting an account................................................................................................................................... 57Customizing UniVerse accounts................................................................................................................ 58

UniVerse account control files.......................................................................................................58The UV.ACCOUNT file..................................................................................................................... 58The UV.FLAVOR file......................................................................................................................... 59The UV.LOGINS file (Windows only).............................................................................................. 60Essential UniVerse files.................................................................................................................. 60The VOC file.....................................................................................................................................60The UV.LOGIN and LOGIN entries..................................................................................................61The UOLOGIN subroutine...............................................................................................................61Controlling access to UniVerse (Windows only)........................................................................... 62Controlling access to UniVerse (UNIX only).................................................................................. 62Customizing a UniVerse account...................................................................................................63Choosing a UniVerse flavor............................................................................................................63NEWACC files...................................................................................................................................63Customizing NEWACC files............................................................................................................. 64

Transferring accounts.............................................................................................................................................64Transferring non-UniVerse accounts.........................................................................................................64

Transferring non-UniVerse accounts to UniVerse with XAdmin.................................................. 65Transferring non-UniVerse accounts using commands/executables..........................................66acct.restore and magrst................................................................................................................. 66tapein...............................................................................................................................................67uvmt.exe (Windows only)...............................................................................................................68

Transferring UniVerse accounts from UNIX to Windows platforms.........................................................70Creating the backup image............................................................................................................70Transferring the backup image..................................................................................................... 71Restoring the backup image..........................................................................................................71

File naming conventions........................................................................................................................................ 72Adding and maintaining UNIX user accounts (UNIX only)................................................................................... 72

General considerations.............................................................................................................................. 73User accounts differ from UniVerse accounts.............................................................................. 73Setting up user environments....................................................................................................... 73

Maintaining user groups............................................................................................................................ 74Maintaining user accounts.........................................................................................................................74

Chapter 5: UniVerse and memory..................................................................................................................................... 75Shared memory on Windows or UNIX platforms................................................................................................. 75UniVerse and shared memory............................................................................................................................... 75

Shared memory configuration error messages........................................................................................76"No more LCTs".............................................................................................................................. 76"No more GCTs"..............................................................................................................................76"uvsmm can’t get the first GSM errno = 22"................................................................................. 76"No more shared memory IDs"..................................................................................................... 76Uncommon error messages...........................................................................................................77"No more entries in CI table in LCT-xxx"...................................................................................... 77"No more entries in MI table in LCT-xxx"......................................................................................77"No more entries in PI table in LCT-xxx"...................................................................................... 77

uvsmm and shared memory......................................................................................................................77Control table list (CTL)................................................................................................................... 77

Page 6: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Contents

6

Creating and assigning memory structures..................................................................................79Displaying parameter settings.......................................................................................................81

Self-created segments................................................................................................................................82UniVerse and the UNIX kernel (UNIX only)................................................................................................82

Chapter 6: UNIX system security (UNIX only)................................................................................................................... 84Security overview....................................................................................................................................................84

User permissions and file permissions..................................................................................................... 84File permission modes........................................................................................................................................... 84

Using the umask command.......................................................................................................................85Protecting user accounts with passwords............................................................................................................85

Assigning a password................................................................................................................................. 85Making a nonlogin account....................................................................................................................... 86

Using groups effectively......................................................................................................................................... 86Defining groups...........................................................................................................................................86

VOC file security......................................................................................................................................................87Security subroutines...............................................................................................................................................87

Chapter 7: Managing locks.................................................................................................................................................88Record locks and file locks.................................................................................................................................... 88

Shared record lock..................................................................................................................................... 88Update record lock.....................................................................................................................................89Shared file lock........................................................................................................................................... 90Intent file lock............................................................................................................................................. 90Exclusive file lock........................................................................................................................................90

Transactions and locks.......................................................................................................................................... 91Managing locks in XAdmin..................................................................................................................................... 91

File/Record Locks tab.................................................................................................................................92Group locks................................................................................................................................................. 93Clearing locks..............................................................................................................................................94

The uvcleanupd daemon....................................................................................................................................... 94The uvcleanupd.config file.........................................................................................................................94uvcleanupd command................................................................................................................................95uvcleanupd logging.................................................................................................................................... 95

Chapter 8: Dynamic linking (UNIX only)............................................................................................................................97The /.uvlibs path definition....................................................................................................................................97Dynamic library search method and tools........................................................................................................... 97Converting the library from static to dynamic................................................................................................... 100Verifying the GCI library....................................................................................................................................... 100Troubleshooting dynamic linking........................................................................................................................101

Chapter 9: Configuring peripheral devices..................................................................................................................... 103The &DEVICE& file.................................................................................................................................................103Configuring tape drives........................................................................................................................................ 104

Defining a new tape drive........................................................................................................................104Viewing and modifying a tape drive definition...................................................................................... 108Testing the tape........................................................................................................................................108Deleting a tape drive definition...............................................................................................................109

Configuring printers (UNIX)..................................................................................................................................109Defining a new printer..............................................................................................................................109Viewing and modifying a printer definition............................................................................................ 112Deleting a printer definition.................................................................................................................... 112

Configuring other devices.................................................................................................................................... 112Defining a new device.............................................................................................................................. 112

Configuring terminals (UNIX only).......................................................................................................................113Terminal line naming conventions..........................................................................................................114Setting default terminal characteristics................................................................................................. 114

Page 7: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Contents

7

The /etc/inittab file....................................................................................................................... 115The /etc/gettydefs file.................................................................................................................. 115Setting the TERM variable............................................................................................................116

The terminfo facility................................................................................................................................. 116The terminfo database.................................................................................................................117Creating or modifying a terminfo entry...................................................................................... 117Defining and enhancing terminfo capabilities........................................................................... 118Modifying a terminfo entry.......................................................................................................... 118Compiling terminfo definitions....................................................................................................119Updating the whole terminfo directory...................................................................................... 119Adding or changing a single entry...............................................................................................120Decompiling terminfo entries...................................................................................................... 120Making non-UniVerse terminfo entries compatible with UniVerse........................................... 121Making all terminfo entries work properly with UniVerse......................................................... 121The terminfo utilities....................................................................................................................121UniVerse terminfo requirements................................................................................................. 122

Customizing terminal capabilities while logged on............................................................................... 122Mapping terminals and auxiliary printers...........................................................................................................122

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)......................................................................... 124Managing the spooler...........................................................................................................................................124

Managing printers.....................................................................................................................................124Defining a printer group...............................................................................................................124Adding users or printers to a printer group................................................................................124Removing users and printers from a printer group................................................................... 125Deleting a printer group...............................................................................................................125Mounting or removing forms on a printer.................................................................................. 125Setting printer queuing options.................................................................................................. 126Starting and stopping printers.................................................................................................... 126

Controlling the print jobs.........................................................................................................................126Configuring the UniVerse spooler............................................................................................................128

Diagnosing spooler problems......................................................................................................129Displaying spooler log files...................................................................................................................... 129Determining when a job was printed......................................................................................................129Starting, stopping, and resetting the spooler........................................................................................ 130

About the UniVerse spooler................................................................................................................................. 131What happens when the spooler is installed......................................................................................... 131Spooler directories and files....................................................................................................................131

The spooler directory................................................................................................................... 131Moving the spooler directory.......................................................................................................131Spooler queue log file.................................................................................................................. 132System printer configuration file.................................................................................................132Spooler processes and commands............................................................................................. 132Spooler daemon (usd)..................................................................................................................132Spooler queuing process command (usp)..................................................................................133Spooler administration command (usa).....................................................................................133Spooler queue modification command (usm)............................................................................133How the spooler works................................................................................................................ 133

Using UniVerse spooler printer drivers............................................................................................................... 134Using a UNIX executable as a driver....................................................................................................... 134Using the Bourne shell as a driver.......................................................................................................... 134Using a driver for remote printing.......................................................................................................... 135Complex shell script drivers.....................................................................................................................136Setting interface characteristics in a driver............................................................................................136Capturing spool output............................................................................................................................137Using command line arguments in driver scripts.................................................................................. 137

Using the UNIX spooler with the UniVerse spooler............................................................................................ 137

Page 8: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Contents

8

Changing the UNIX lp interface file......................................................................................................... 138Adding a DRIVER option to the sp.config entry......................................................................................138

Troubleshooting the spooler............................................................................................................................... 138Printing problems..................................................................................................................................... 138

Spooler is not running after UNIX upgrade................................................................................ 139The spooler daemon will not start..............................................................................................139Message queue facility incorrectly tuned................................................................................... 139Missing files after moving the spooler directory........................................................................ 139Message:***Warning: Requested Lock File Already Exists......................................................... 140Jobs in wait state will not go active........................................................................................... 140Disabled printing.......................................................................................................................... 140Suspended print job.....................................................................................................................140Mismatched form names............................................................................................................. 141Particular print queue was specified.......................................................................................... 141Jobs in active state do not print................................................................................................. 141Spool -LIST and usa hang............................................................................................................ 142Driver not found........................................................................................................................... 142Printer configuration changes do not take effect...................................................................... 143

Getting incorrect printout........................................................................................................................ 143Specify SETPTR NOEJECT, but get a formfeed at end of report................................................143Specify SETPTR NOHEAD but still get header............................................................................ 144Print lines do not return to the left side of the page................................................................. 144Missing pages, lines, or characters..............................................................................................144Jobs do not print in first-in first-out order................................................................................. 145Print jobs are intermixed............................................................................................................. 145

Frequently asked questions.................................................................................................................................145

Chapter 11: Backing up and restoring files.................................................................................................................... 147Backup strategies................................................................................................................................................. 147

Backing up individual files.......................................................................................................................148Ways to back up and restore files....................................................................................................................... 148

Preserving the integrity of your data...................................................................................................... 148Backing up files with XAdmin.............................................................................................................................. 149Restoring files........................................................................................................................................................150Using T.DUMP to back up UniVerse files.............................................................................................................153Using uvbackup to back up files......................................................................................................................... 153

Specifying the file list............................................................................................................................... 155Using T.LOAD to restore UniVerse files............................................................................................................... 155Using uvrestore to restore files........................................................................................................................... 155

Specifying files and records to restore................................................................................................... 155Excluding files to restore..........................................................................................................................156Display options......................................................................................................................................... 156Other options............................................................................................................................................ 156

Chapter 12: Monitoring system activity.......................................................................................................................... 158Listing active UniVerse processes and jobs........................................................................................................ 158Listing UniVerse jobs with PORT.STATUS........................................................................................................... 159Terminating a process..........................................................................................................................................159Examining shared memory.................................................................................................................................. 159

analyze.shm...............................................................................................................................................160smat........................................................................................................................................................... 163ANALYZE.SHM............................................................................................................................................166Catalog shared memory...........................................................................................................................167UniVerse configuration.............................................................................................................................168Dynamic file table.....................................................................................................................................168File lock table............................................................................................................................................169User sessions.............................................................................................................................................169

Page 9: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Contents

9

Semaphore table...................................................................................................................................... 170Tuneables.................................................................................................................................................. 171Group lock table....................................................................................................................................... 171Update record lock table......................................................................................................................... 172User process control locks.......................................................................................................................173General system information.................................................................................................................... 173

Monitoring response time (UNIX only)................................................................................................................ 174Keeping directory files small................................................................................................................... 175Running programs during off-hours........................................................................................................175execuv........................................................................................................................................................ 175

Monitoring errors (UNIX only)..............................................................................................................................177

Chapter 13: File utilities................................................................................................................................................... 178Administering UniVerse files................................................................................................................................ 178The format conversion utility.............................................................................................................................. 182

Converting the format of data files and UniVerse BASIC code.............................................................. 182Converting to the current machine format................................................................................ 182Converting to a different machine format..................................................................................183Explicitly specifying the machine class.......................................................................................183Specifying low-order byte addressing format............................................................................ 183Specifying high-order byte addressing format...........................................................................184Specifying format codes and machine class options.................................................................184Converting a file to an earlier UniVerse release format............................................................. 184Release 6 through release 9.5.1B................................................................................................ 184Release 9.5.1C or later................................................................................................................. 184Syntax............................................................................................................................................ 185Silent or verbose output.............................................................................................................. 185

Chapter 14: Executing UniVerse commands...................................................................................................................187Executing a command..........................................................................................................................................187Editing a command.............................................................................................................................................. 188Re-executing commands......................................................................................................................................188

Chapter 15: Sending messages to users in..................................................................................................................... 189Sending messages with XAdmin..........................................................................................................................189The UNIX write command (UNIX only)................................................................................................................ 189The MESSAGE command (UNIX only)..................................................................................................................190Message of the day (UNIX only)...........................................................................................................................190

Chapter 16: Adding capabilities to UniVerse.................................................................................................................. 191Adding UniVerse BASIC applications...................................................................................................................191Managing catalog space.......................................................................................................................................192

Initializing system catalog space.............................................................................................................192Checking the status of the catalog......................................................................................................... 192Displaying catalog contents.....................................................................................................................193Deleting programs from the catalog.......................................................................................................193

Managing catalog shared memory......................................................................................................................194Setting up catalog shared memory.........................................................................................................194Updating or deleting a program in shared memory.............................................................................. 196

Adding commands to the VOC file...................................................................................................................... 197

Chapter 17: Managing network services......................................................................................................................... 199Administering the UniRPC daemon or service................................................................................................... 199

How the UniRPC daemon or service works............................................................................................ 199System requirements............................................................................................................................... 199Starting and stopping the UniRPC daemon or service.......................................................................... 200

Starting the UniRPC service (Windows only).............................................................................. 200Stopping the UniRPC service (Windows only)............................................................................ 200Starting the UniRPC daemon (UNIX only)...................................................................................200

Page 10: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Contents

10

Stopping the UniRPC daemon (UNIX only).................................................................................201Defining the UniRPC port number (UNIX only).......................................................................................201Maintaining the hosts file (UNIX only).....................................................................................................201

Adding a node...............................................................................................................................201Modifying a node.......................................................................................................................... 202Removing a node..........................................................................................................................202

About the unirpcservices file................................................................................................................... 202Enabling the use of legacy authentication (UNIX only)......................................................................... 204

Managing Windows Telnet sessions (Windows only)......................................................................................... 204Modifying the Telnet session parameters...............................................................................................204Starting, stopping, and pausing the Telnet server.................................................................................207Adding, updating, or deleting Telnet users............................................................................................ 207

Pluggable Authentication Module (PAM) (UNIX only)........................................................................................ 209How UniVerse authentication currently works.......................................................................................209PAM support..............................................................................................................................................209Modifying the Telnet session parameters...............................................................................................210

Chapter 18: Managing ipc facilities................................................................................................................................. 213Displaying IPC facilities with uvipcstat (Windows only).................................................................................... 213Removing IPC structures with uvipcrm (UNIX only)...........................................................................................216UniVerse log files.................................................................................................................................................. 216Removing ipc structures...................................................................................................................................... 217

1. Check for remaining facilities.............................................................................................................. 2172. Stop UniVerse........................................................................................................................................2173. Decide how to proceed........................................................................................................................ 2174. Remove ipc facilities with uvipcrm..................................................................................................... 2175. Remove ipc facilities with UNIX ipcrm................................................................................................ 2186. Restart UniVerse................................................................................................................................... 219

Chapter 19: Device licensing............................................................................................................................................220Device licensing requirements.............................................................................................................................220UniVerse licensing modes.................................................................................................................................... 220Connection types.................................................................................................................................................. 221

Direct connections....................................................................................................................................221Two-tier connections................................................................................................................................221Multiple-tier connections......................................................................................................................... 222

Enabling telnet device licensing on UNIX servers (UNIX only)...........................................................................222Using device subkeys........................................................................................................................................... 222Using the license tool uvlictool........................................................................................................................... 222

Chapter 20: Account-based licensing..............................................................................................................................225Defining the license configuration...................................................................................................................... 225

Configuring account-based licenses with XAdmin................................................................................. 226Managing account-based licensing with the uvlictool command.....................................................................226

Verifying the acct_licn.def file................................................................................................................. 226Listing the acct_licn.def file.....................................................................................................................227Reloading the acct_licn.def file............................................................................................................... 227Listing licenses in use in a logical account.............................................................................................227

Chapter 21: Additional server-level security layer......................................................................................................... 229

Appendix A: UniVerse system administration menus (UNIX only).................................................................................230Overview of menus and data entry screens....................................................................................................... 230

Moving around the menus....................................................................................................................... 230Summary of standard keys......................................................................................................................231

The UniVerse System Administration menu....................................................................................................... 232Invoking the System Administration menu............................................................................................ 232

Package option..................................................................................................................................................... 233Installing and uninstalling a software package......................................................................................233

Page 11: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Contents

11

Administering the UniRPC........................................................................................................................233Defining the UniRPC port number...............................................................................................233Starting the UniRPC daemon.......................................................................................................234Adding, changing, or deleting network nodes............................................................................234Changing the UniRPC port number.............................................................................................235Stopping the UniRPC daemon.....................................................................................................235

UniVerse license administration..............................................................................................................235Administering SQL Client and GCI...........................................................................................................236

Accounts option.................................................................................................................................................... 236Using the Accounts menu........................................................................................................................ 236Maintaining users and user groups......................................................................................................... 236

Adding a new user group.............................................................................................................237Changing a user group................................................................................................................. 237Deleting a user group...................................................................................................................237

Adding, changing, and deleting individual users................................................................................... 237Adding a new user........................................................................................................................ 238Changing user information.......................................................................................................... 239Deleting a user.............................................................................................................................. 239

Maintaining UniVerse accounts............................................................................................................... 239Adding a new UniVerse account..................................................................................................239Changing an existing UniVerse account......................................................................................241Deleting a UniVerse account........................................................................................................241

Recovery option.................................................................................................................................................... 241Backing up and restoring files.................................................................................................................242Using the UVBACKUP screen................................................................................................................... 243

Specifying the backup device...................................................................................................... 243Specifying the block size..............................................................................................................243Specifying a full, weekly, or daily backup.................................................................................. 243Specifying what to display on the terminal screen....................................................................244Specifying a label to identify the backup................................................................................... 244Specifying the account to back up..............................................................................................244Specifying the file to back up...................................................................................................... 244Starting the backup......................................................................................................................245How UVBACKUP displays file paths............................................................................................ 245Backing up on multiple tapes......................................................................................................245

Using the UVRESTORE screen..................................................................................................................246Specifying the restore device...................................................................................................... 246Ensuring the backup image is the one you want....................................................................... 246Specifying what to display on the terminal screen....................................................................247Specifying the accounts to restore..............................................................................................247Specifying the files to restore......................................................................................................247Specifying the record to restore..................................................................................................248Specifying restoration options.................................................................................................... 248Starting the restoration................................................................................................................248Restoring from multiple tapes.....................................................................................................249

Spooler option...................................................................................................................................................... 249Spooler status report............................................................................................................................... 250Managing print jobs..................................................................................................................................250

Changing print job characteristics.............................................................................................. 251Controlling print jobs................................................................................................................... 251

Managing the spooler...............................................................................................................................252Disabling printing......................................................................................................................... 252Enabling printing.......................................................................................................................... 252Disabling queuing......................................................................................................................... 252Enabling queuing..........................................................................................................................252

Defining printers....................................................................................................................................... 253

Page 12: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Contents

12

Mounting a form on a printer.................................................................................................................. 255Configuring the spooler............................................................................................................................256

Rereading the spooler configuration.......................................................................................... 256Resetting the spooler daemon.................................................................................................... 256

Changing the spooler configuration........................................................................................................256Maintaining printer groups...................................................................................................................... 257

Adding a printer group.................................................................................................................257Changing a printer group.............................................................................................................257Deleting a printer group...............................................................................................................258Maintaining printer group users and printers............................................................................ 258

Spooler log files........................................................................................................................................ 258Creating spooler log files............................................................................................................. 258Displaying spooler log files.......................................................................................................... 258

Shared Memory (sh Mem) option........................................................................................................................ 259Designating programs for catalog shared memory............................................................................... 259Installing programs into catalog shared memory..................................................................................259Modifying catalog shared memory..........................................................................................................260

Import option........................................................................................................................................................260Restoring non-UniVerse accounts from tape..........................................................................................260

Restoring a Prime INFORMATION account................................................................................. 261Restoring a Pick or REALITY account.......................................................................................... 262Running T.LOAD from a file......................................................................................................... 263LONGNAMES mode....................................................................................................................... 263

Updating the &DEVICE& file..................................................................................................................... 263Defining a tape device..................................................................................................................264Defining a printer..........................................................................................................................266

Defining printers....................................................................................................................................... 266User menus........................................................................................................................................................... 268

Appendix B: PTERM and stty options..............................................................................................................................269

Appendix C: terminfo terminal capabilities.................................................................................................................... 283Additional terminfo entries..................................................................................................................................283terminfo terminal capabilities............................................................................................................................. 284terminfo, termcap, and UniVerse........................................................................................................................ 286

Appendix D: The wide zero parameter in UniVerse........................................................................................................301Number systems................................................................................................................................................... 301Floating-point numbers........................................................................................................................................301The UniVerse wide zero feature...........................................................................................................................302

Appendix E: Fault numbers and error codes.................................................................................................................. 304Fatal error codes...................................................................................................................................................305Initialization errors............................................................................................................................................... 308

Appendix F: Configuring SSL for Telnet (UNIX only)...................................................................................................... 309Setting up a UniVerse telnet service for the operating system to recognize.................................................... 309Setting up SSL properties for a UniVerse telnet service.................................................................................... 310Setting up the telnet service on Linux platforms...............................................................................................310Setting up the telnet service on Solaris platforms.............................................................................................310

Appendix G: SB+ 6.5.0 USERNO compatibility................................................................................................................312USERNO_COMPATIBLE_STYLE............................................................................................................................. 312

Page 13: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

13

Chapter 1: IntroductionThis chapter describes the role of a UniVerse system administrator and gives a brief overview of therelationship between the operating system and UniVerse. UniVerse administrators must know theoperating system, UniVerse, and the applications developed in UniVerse.

UniVerse is a database management environment that runs on the Windows platforms and UNIXoperating systems. Most end users interact with commercial applications developed in thisenvironment. However, many users also interact directly with the UniVerse environment and use itscommands to store and retrieve data in UniVerse tables and files. Some users, and most applicationdevelopers, also work in the operating system environment.

What is UniVerse administration?The UniVerse administrator is responsible for the UniVerse system and for performing any tasksneeded to maintain it.

These tasks include the following:

▪ Starting up and shutting down the system

▪ Creating new UniVerse accounts

▪ Transferring accounts to UniVerse

▪ Implementing system security

▪ Configuring peripheral devices

▪ Rehashing and resizing UniVerse files for better performance

▪ Backing up and restoring files

▪ Managing network services

▪ Configuring and managing printers

▪ Managing locks

UniVerse administrators can also do the following:

▪ Administer data sources

▪ Configure and manage Data Replication

▪ Configure and manage External Database Access

Who is a UniVerse administrator?

To perform most administration tasks, you must be logged on as a UniVerse Administrator. OnWindows systems, UniVerse administrators must log on as a member of the Administrators group. Youcan then use the U2 Extensible Administration Tool (XAdmin) and UniVerse administration commandsto perform UniVerse administration.

UniVerse filesUniVerse files are described in detail in UniVerse System Description. This section summarizes the mainpoints of the UniVerse file system.

UniVerse provides the following kinds of file organization:

Page 14: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 1: Introduction

14

▪ Nonhashed files

▪ Hashed files

▪ B-tree files

Nonhashed files

Nonhashed files store text, program source code, and other data that does not have much structure toit. A nonhashed file is implemented as an operating system directory. The records in a nonhashed fileare operating system files.

Hashed files

Hashed files use a hashing algorithm to distribute records in one or more groups of the file. Thealgorithm is applied to the record ID to generate the address of a group buffer where the record isstored. To find a record in a hashed file, UniVerse locates its group address on the disk. Within thatgroup, individual record IDs are examined to identify the record.

Hashed files allow rapid access to records regardless of the number of records in the file. There aretwo kinds of hashed files: static and dynamic. A static file does not change its size to accommodatechanges in the amount of data stored in it. A dynamic file resizes itself by changing the number ofgroups required to store records.

The maximum size of a 32-bit file is 2 GB. The maximum size of a 64-bit file is virtually imposed by theoperating system.

B-tree files

B-tree files store data for rapid access. In a B-tree file, records are stored in sorted order. To find arecord, its record ID is compared to the value at the center of the tree. If the value is greater than therecord ID, the search continues with the subtree to the left of the center value. If it is less, the searchcontinues with the subtree to the right of the center value. This process continues until the record isfound.

A B-tree file is the most efficient file structure to use when frequent searches are made for partiallyspecified keys, such as a key that comprises a region code and an invoice number. A search for the last100 orders placed in the “NE” region would search only the branches with a key beginning with “NE”.Using partially specified keys to find records in a hashed file is inefficient because it involves readingthe entire file.

UV account directory files

During installation, UniVerse creates a master account in the UV account directory. The following filesand directories are unique to the UV account directory:

Name Description

bin Directory containing UniVerse system programs.catdir Directory containing cataloged UniVerse programs. Also referred to as the

system catalog space, or (more simply) the catalog.

Page 15: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

UV account directory files

15

Name Description

gcidir Directory containing General Calling Interface (GCI) files.nls Directory containing UniVerse NLS files.sample Directory containing sample programs, demonstration files, and other

sample UniVerse files.sql/catalog Directory containing the UniVerse SQL catalog.sqlclient.config File containing definitions of BASIC SQL Client Interface data sources.terminfo Directory containing terminal definitions.uvconfig File containing UniVerse configurable parameter values.uvdr.config File containing the configuration of the Data Replication utility.repsys File that defines local and all remote host system locations in a replication

environment. This file, called repsys, resides in the $UVHOME directory.repconfig Defines all replication groups and their configuration parameters. Each

line of the repconfig file is either a definition phrase or a comment. Aphrase defines a component of replication, such as a replication group or areplication object.

The following UniVerse system files are unique to the UV account:

Name Description

&DEVICE& File containing definitions and configurations for all peripheral devices.&EDAMAP& File containing EDA Schema records.&KEYSTORE& UNIX only. File that stores all of your encryption keys and wallets. This file

is meant to be used on the system on which it was created. If you physicallymove it to another system, UniVerse will deny access unless you have thepermission to overwrite the protection. This file resides in the $UVHOMEdirectory.

&MAP& File containing records that describe the contents of the system catalogspace that can be used by RetrieVe for search and retrieval purposes.

&PARTFILES& A hashed system file used to store records defining a part file that belongsto a distributed file.

&SAVEDLISTS& A file used to store the lists referenced by the SAVE.LIST, EDIT.LIST,GET.LIST, COPY.LIST, MERGE.LIST and DELETE.LIST commands.This file also stores the current sentence stack when you exit UniVerse, andstores the lists created by the VVOC command. Each list is a record in thefile.

&UFD& A type 1 file that is the directory where your UniVerse account is located.&XML& File containing XML mapping files.APP.PROGS.O File containing optional UniVerse application programs.BP File containing system BASIC programs.BP.O File containing the executable code for system BASIC programs.CAT File containing list of globally cataloged programs.DICT.DICT File containing the dictionary definitions for all file dictionaries on the

system.EDA_DATASOURCE File containing the information needed to access an external database

when using External Database Access.EDA_DRIVER File containing the EDA driver definitions. This file is located in the

$UVHOME directory.ERRMSG File containing UniVerse error messages.

Page 16: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 1: Introduction

16

Name Description

GCI File containing external subroutine definitions used with the GeneralCalling Interface (GCI).

NEWACC File containing master copies of the default VOC files that are copied intonew UniVerse accounts.

PTERM.FILE File containing tables used by the PTERM command for setting terminalcharacteristics.

SYS.MESSAGE Master file containing system messages and prompts used in the UniVerseenvironment. You can edit this file to change the prompts.

UV.ACCOUNT File containing the names and paths of UniVerse accounts.UV.FLAVOR File specifying the flavors of UniVerse accounts.

UniVerse administration commandsThis section describes UniVerse commands that administrators will find useful. Many of them can beused only by a user logged on to the UV account as a UniVerse Administrator. XAdmin is an interface tosome of the commands listed here.

Assigning and unassigning peripheral devices

The following table describes commands for assigning and unassigning peripheral devices.

Command Description

ASSIGN Assigns a device for your exclusive use. Usually used for assigningtape, printer, and disk devices.

UNASSIGN Relinquishes control of a physical device that has been assigned toyou.

UniVerse BASIC programs

The next table describes commands for UniVerse BASIC programs.

Command Description

BASIC Compiles a UniVerse BASIC program.CATALOG Copies the compiled object code to the system catalog space.DELETE.CATALOG Deletes programs from the catalog space.ED Creates UniVerse BASIC source programs. Also edits the contents

of data files, file dictionaries, and select lists.INITIALIZE.CATALOG Initializes the catalog space.LIMIT Sets the maximum size of memory storage for a user’s active

UniVerse BASIC routines.MAKE.MAP.FILE Creates the &MAP& file from the catalog contents.MAP Displays information about the contents of the catalog space.RAID Debugs a UniVerse BASIC program.

Page 17: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

File and account maintenance

17

Command Description

VCATALOG Compares the object code of a program in the catalog to objectcode in the original file.

VLIST Lists UniVerse BASIC object code.

File and account maintenance

The following table describes commands for file and account maintenance.

Command Description

ACCOUNT.FILE.STATS Gathers file statistics on the current state of selected files.ANALYZE.FILE Displays statistics about a dynamic file.CLEAN.ACCOUNT Performs routine maintenance and verifies the condition of files in

an account.CONFIGURE.FILE Changes the parameters of a dynamic file.FILE.STAT Displays statistical information about the file size and record

partitioning in a file.FILE.USAGE Displays statistics on the use patterns of a file.FILE.USAGE.CLEAR Resets statistics displayed by the FILE.USAGE command.FORMAT.CONV Changes the storage format of UniVerse files or UniVerse BASIC

object code.GROUP.STAT Displays information about the record distribution in a file.GROUP.STAT.DETAIL Displays a detailed record distribution summary for a file.HASH.AID Displays statistical information about the hypothetical file size

and record partitioning in the file.HASH.HELP Displays a recommendation for a file type, modulo, and

separation based on the current record IDs and file size.HASH.HELP.DETAIL Displays the same information as HASH.HELP, and also includes

details on the record ID sizes and record size in bytes.HASH.TEST Displays how the record distribution would work with a

hypothetical file type, modulo, and separation.HASH.TEST.DETAIL Displays the same hypothetical information as HASH.TEST, and

also includes the hypothetical number of bytes per record, andthe number of bytes per group.

LIST.FILE.STATS Displays file statistics gathered by ACCOUNT.FILE.STATS.RECORD Determines the group that a record should reside in, or, if the

record exists, verifies that the record is there.RESIZE Changes the structure of a file with a new file type, modulo, or

separation.SUSPEND.FILES Suspends UniVerse processes that make changes to files, without

terminating user processes.UPDATE.ACCOUNT Updates the contents of your VOC file.VVOC Compares the contents of the VOC file in the current account to

those of NEWACC, and reports the differences.

Page 18: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 1: Introduction

18

Managing processes

The following table describes commands for managing processes.

Command Description

AUTOLOGOUT Logs the user out of UniVerse after a period of inactivity.ENVIRONMENT or ENV Sets and displays environment variables.JOBS Lists active phantom processes.MESSAGE Sends a message from your terminal to another user.PHANTOM Starts a phantom process.SLEEP Suspends a process.

Monitoring resources

The following table describes commands for monitoring resources.

Command Description

ANALYZE.SHM Displays information contained in UniVerse shared memory.AVAIL Displays statistics about the disk records.CONFIG Displays information about current authorization parameters

and configurable parameter values.LISTU Displays information about the users currently on the system.PORT.STATUS Displays information about UniVerse processes and jobs

currently running on the system.STATUS Displays information about the files that are open, the network,

assigned devices, the operating system version, and the users.TANDEM Displays input and output of another user’s terminal.USERS Displays the number of users on the system.

Task and record locking

The following table describes commands for task and record locking.

Command Description

CLEAR.LOCKS Clears a specific lock number or all the locks set by an account.LIST.LOCKS Lists the 64 task synchronization locks, informing you which are

still available.LIST.READU Displays a list of locked files and records.LOCK Reserves one of the 64 task synchronization locks to guarantee

that you can process a file record without interference fromothers.

MASTER Releases task synchronization locks set with the LOCKcommand.

RELEASE Releases record locks that were set by the UniVerse BASICcommands READU, MATREADU, and READVU.

Page 19: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

National language support

19

Command Description

SEMAPHORE.STATUS Displays information about the status of system semaphores.UNLOCK Clears file, group, and update locks.

National language support

UniVerse has a special mode that offers National Language Support (NLS). With NLS mode enabled,you can use UniVerse in various languages and countries. You can do the following:

▪ Input data in any character set using your local keyboard

▪ Retrieve data and format it using your own conventions, or those of another country

▪ Output data to a screen or printer using the character sets and display conventions of any country

▪ Write programs that run in different languages and countries without source changes orrecompilation

NLS mode works by using two types of character sets:

▪ The UniVerse internal character set

▪ External character sets that cover the world’s different languages

In NLS mode, UniVerse maps between the two character sets when you input data to the database, oroutput data from the database.

For complete information about installing and administering NLS and using NLS commands, see theRocket UniVerse NLS User Guide and the Rocket UniVerse User Guide.

The U2 Extensible Administration ToolThe U2 Extensible Administration Tool (XAdmin) is a Windows-based program that lets you administerUniVerse running on a UNIX or Windows server.

Note: The XAdmin connection requires the use of a database license. To use XAdmin, you must belogged on as a UniVerse Administrator.

Starting XAdmin

With XAdmin, you can administer accounts, create backups, view file usage, and perform otheradministrative tasks. For more information, see the information about XAdmin in the Rocket DBToolsUser Guide.

To start XAdmin, select Start > All Programs > Rocket U2 > Extensible Administration Tool.

Page 20: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

20

Chapter 2: Starting up and shutting downUniVerse

This chapter describes how to start up and shut down UniVerse.

Setting the user number when starting UniVerseAs of UniVerse 12.1.1, you can specify a user number when starting a UniVerse session.

This procedure works when running UniVerse on either a UNIX or a Windows system.

1. Open the uvconfig file in a text editor.2. Locate the NUSERS parameter and make a note of the setting.3. Locate the UVSH_USERNO_RANGE parameter, and specify a range of users as shown below:

UVSH_USERNO_RANGE n:m

The n value must be greater than or equal to 1 and the m value must be less than or equal to theNUSERS setting.

Note: As an alternative to setting the UVSH_USERNO_RANGE parameter, you can set theUVSH_USERNO environment variable to a specific user number.

4. Save and close uvconfig.5. Shutdown the UniVerse system, run uvregen, and then restart UniVerse.6. At the command prompt, enter the following command to start the UniVerse session:

uvsh -userno n

where n is the number of users for which you want to reserve slots in the LCT table. This numbermust fall within the range set for UVSH_USER_RANGE in uvconfig, or it must be no larger thanthe number of users specified for the UVSH_USERNO environment variable.

Starting and stopping UniVerse on Windows systemsYou must be a domain administrator or a UniVerse Administrator to start up or shut down UniVerse ona Windows system. You do so by starting or shutting down the UniVerse Resource service. In additionto the UniVerse Resource service, you may also want to start up or shut down two other services:

▪ UniVerse Telnet service

▪ UniRPC service

Starting UniVerse services

You can start UniVerse in one of three ways:

▪ From the UniVerse Control Panel

▪ From the Windows Control Panel

▪ At the MS-DOS prompt

Page 21: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

From the UniVerse control panel

21

Use the UniVerse Control Panel when you want to start all four UniVerse services together. Use eitherthe Windows Control Panel or an MS-DOS prompt when you want to start one or more of the UniVerseservices individually.

Normally you should start both the UniVerse Resource service and the UniVerse Telnet service. If youwant UniVerse to accept connections from client programs or through UVNet, you must start theUniRPC service.

If you start the UniVerse Telnet service, the UniVerse Resource service is automatically started if it isnot already running.

From the UniVerse control panel

1. Choose Start → All Programs → Rocket U2 → UniVerse → UniVerse Control.2. Click Start All Services to start all UniVerse services.

From the Windows control panel

1. Double-click the Services icon.2. Scroll down the list of services until you find three entries for UniVerse:

▪ UniRPC Service

▪ UniVerse Resource Service

▪ UniVerse Telnet Service3. Choose UniVerse Resource Service, then choose Start.4. Choose Startup, then choose automatic. This ensures that UniVerse is started automatically

when the server is rebooted.5. Repeat the previous step to start any of the other UniVerse services.

At the MS-DOS prompt

Enter one or more of the following commands:

D:\users>net start universe

D:\users>net start uvtelnet

D:\users>net start unirpc

The system reports the name of the service it is starting and whether the startup is successful.

Note: The UniVerse services are started automatically when the operating system is loaded unlessyou clear the automatic startup boxes during UniVerse installation.

Stopping UniVerse services

You can shut down UniVerse in one of three ways:

▪ From the UniVerse Control Panel

▪ From the Windows Control Panel

▪ At the MS-DOS prompt

Page 22: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 2: Starting up and shutting down UniVerse

22

Note:

If users are connected to the services when they are shut down, the users do not lose theirconnections; the connections remain active until the users terminate them. However, it is notpossible for new users to connect to UniVerse.

Users will be disconnected if the UniVerse Resource Service is shut down.

From the UniVerse control panel

1. Choose Start → All Programs → Rocket U2 → UniVerse → UniVerse Control.2. Click Stop All Services to stop all UniVerse services. Wait for all services to stop.3. Click OK to exit the UniVerse Control Panel. All four services are shut down.

From the Windows control panel

1. Double-click the Services icon.2. Scroll down the list of services until you find three entries for UniVerse:

▪ UniRPC Service

▪ UniVerse Resource Service

▪ UniVerse Telnet Service3. Choose UniVerse Resource Service, then choose Stop.

If the UniVerse Telnet service is also running, a message appears prompting you to confirm that inaddition to the UniVerse Resource Service, you also want to stop the UniVerse Telnet Service.

4. Click OK.

At the MS-DOS prompt

Enter one or more of the following commands:

D:\users>net stop universe

D:\users>net stop uvtelnet

D:\users>net stop unirpc

If the UniVerse Telnet service is also running when you stop UniVerse, a message appears promptingyou to confirm that you also want to stop the UniVerse Telnet service.

Enter Y at the prompts. Each service is shut down in turn.

Preserving data integrity when you shut down Windows platforms

Windows platforms allow only a short time for applications to close during system shutdown. Ifapplications do not respond quickly, the shutdown process closes the applications immediately. Ifyour UniVerse application is writing data to disk during the shutdown, you could lose data.

To ensure data integrity, always shut down the UniVerse Resource service before you shut downWindows. If a transaction is running, check that the final entry in the uvlogd.info file in yourtransaction log directory reads as follows:

Logging system shut down consistently.

Page 23: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Starting and stopping UniVerse on UNIX systems

23

If you see this message, you can safely shut down UniVerse.

Starting and stopping UniVerse on UNIX systemsYou start up and shut down UniVerse from a UNIX shell. The uv command with the -admin option runsthe script that provides for the orderly startup and shutdown of UniVerse. The syntax is as follows:

Syntax

uv [-admin option] [-buildno] [-version]

Parameter Description

-admin You must be a database administrator to use the -admin parameter and any of its op-tions.

If no options are specified, this starts all the database processes in the correct order,checks to see whether a system crash occurred, and automatically performs crashrecovery if it is needed.

If RFS is enabled, this parameter starts RFS and automatically recovers the databasefiles if a system crash occurs. This command starts the database background dae-mons, including the uvsm daemon, and reinitializes $UVHOME/uvsm.log.

Page 24: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 2: Starting up and shutting down UniVerse

24

Parameter Description

One of the following:-c Clearshm. Clears the BASIC catalog shared memory bit, allowing

users to log in to the database.-help Lists all available -admin options.-start Starts up the database.

If RFS is enabled, this parameter also starts RFS and automaticallyrecovers the database files if a system crash occurs. This commandstarts the database background daemons, including the uvsmdaemon, and reinitializes the $UVHOME/uvsm.log file.

Note: The previous uvsm.log files are appended in theuvsm.log file located in the $UVHOME/saved_logs directory.

-start_norpc Starts up the database with UniRPC off.-init Starts the uvrepmanager with the -i option when used with the -

start option.

If RFS is enabled, this bypasses the automated crash recoverysequence and initializes RFS status.

-writethrough Causes UniVerse to start in write-through mode regardless of thesetting of the uvconfig parameter, RFS_MODE.

-stop Shuts down the database.-force [-now] Forcefully shut down the database. Use this option if the database

fails to shut down properly using only uv -admin -stop.

During a normal shutdown, if user processes remain, the shutdownprocess exits and displays a message indicating that the shutdowndid not complete. When you use the -force option, if any processesremain after a SIGTERM signal is sent, a SIGKILL signal is sent to theremaining processes after a short period of time. If you specify the -now option, the SIGKILL process signal is sent immediately to thoseprocesses that were not terminated by the SIGTERM signal.

-nousers Results in the shutdown process terminating with a messageindicating the shutdown process did not take place if there were areany active user processes when the command was issued.

-L Lock. Suspends all database file I/O. Same as SUSPEND.FILES ON.-R Report. Lists current state of database suspension. Same as

SUSPEND.FILES with no arguments.-U Unlock. Resumes suspended database file I/O. Same as

SUSPEND.FILES OFF.-D Returns 0 if the database is active or 1 if the database is suspended.-disable If the Recoverable File System (RFS) is enabled, this option starts

the database and data replication in DISABLE mode. For moreinformation, see the U2 Data Replication User Guide or Administeringthe Recoverable File System on Windows and UNIX.

-nospooler Use this option to prevent UniVerse from starting without thestandard spooler.

option

-mediarec If RFS is enabled, use this option to perform media recovery stepswhen starting UniVerse.

-buildno Returns the build number.-version Displays the currently installed version of the database.

Page 25: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Configuring UniVerse parameters at initialization time

25

When you use uv with no options and the directory you are working in is not set up as a databaseaccount, the following message displays:

This directory is not set up for UniVerse. Would you like to set it up(Y/N)?

Enter Y to create a database account. The database creates the necessary files, and you enter thedatabase environment.

Enter N to quit and reenter the operating system environment.

Configuring UniVerse parameters at initialization time

You can configure certain UniVerse parameters at initialization time to provide some flexibility intuning the performance of UniVerse.

See Configurable UniVerse parameters, on page 29 for more information.

Logging on

Once you log on using a particular name, certain account parameters are automatically set for you.These parameters include a home directory (the starting point of your personal file hierarchy), thetype of command interpreter that will be used to issue system commands (a UNIX shell or the UniVersecommand processor), file protection, and so forth.

Initializing the UniVerse shell

If you specify the UniVerse command processor as the account’s command interpreter, UniVerseexecutes the UV.LOGIN entry in the VOC file of the UV account. You can set system-wide defaults byputting appropriate commands in the UV.LOGIN entry.

After executing UV.LOGIN, UniVerse executes the LOGIN entry in the VOC file of the user’s account.LOGIN can be a paragraph, sentence, proc, menu, or UniVerse BASIC program.

In a PICK, IN2, or REALITY flavor account, the UniVerse command processor first executes an entry withthe account name. If none exists, it executes an entry with the login name. If none exists, it executes anentry named LOGIN.

Overview of UNIX startup and shutdownWhen you start up a UNIX system, the file systems are automatically checked, a number of automaticprocesses (such as error logging, process accounting, and print spooling) are initiated, and allterminals are prepared for user logins. When you shut down the system, automatic processes must beterminated, and the file systems closed down gracefully so there is no disk activity when the power isturned off. Most of the system startup and shutdown processes are done automatically by a number ofshell scripts and programs shipped with the system.

You must do the startup and shutdown procedures described in this chapter from a UNIX shell.

Page 26: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 2: Starting up and shutting down UniVerse

26

UNIX startup

The init program runs a series of initialization scripts that check and mount the file systems, startvarious accounting processes and system daemons (automatic processes such as spoolers), andcontinuously spawn getty processes. One of the initialization scripts, /etc/rc, starts UniVerse.

Initializing UNIX: the /etc/init program

The init program runs a series of initialization scripts that check and mount the file systems, startvarious accounting processes and system daemons (automatic processes such as spoolers), andcontinuously spawn getty processes. One of the initialization scripts, /etc/rc, starts UniVerse.

The UniVerse startup script

The main script for the UNIX system initialization process is in the /etc/rc file. To see the processesinvoked when the system is booted to multi-user mode, you can print this file. Among other things, /etc/rc calls other command files that vary from system to system.

The UniVerse installation procedure modifies the UNIX startup procedure to execute commands in /etc/uv.rc (or /etc/rc.d/init.d/uv.rc on Linux). The uv.rc script will call the uv -adminfunctions to properly stop or start UniVerse. The uv.rc file in the UniVerse bin directory should notbe called directly. Instead, use the uv -admin command options. Although the uv.rc file outside ofUniVerse bin can be called, the uv -admin options are recommended.

Refer to Starting and stopping UniVerse on UNIX systems for a complete list of -admin options.

Note: You must be logged in as root or uvadm (if installed as uvadm) to run the uv.rc or uv -admin commands.

If not started at boot time, use the following command to start UniVerse:

uv -admin -start

Output similar to the following displays:

Starting UniVerse...UVSMM is started.Starting uvsm...Unirpcd is started.Uvcleanupd is started.UniVerse has been brought up.

uv.rc [start | stop]

If uv.rc is run and no -admin options are specified, the UniVerse startup procedure is used.

Warning: Do not modify the uv.rc scripts installed with UniVerse. Refer to Script customizationfor details.

UNIX shutdown

Use the following three steps to shut down your system:

1. Run the UniVerse shutdown script.2. Return the system to single-user mode from multiuser mode.

Page 27: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Running the UniVerse shutdown script

27

3. Shut down your system, or reboot it.

Running the UniVerse shutdown script

To shut down UniVerse, use the uv -admin command with the -stop option at the UNIX prompt:

# uv -admin -stop

The UniVerse shutdown script does the following:

▪ Shuts down the spooler and other core daemons

▪ Frees all resources allocated to the daemons

If users remain on the system when UniVerse is shut down, the shutdown procedure will stop. The -force option can be used to proceed with the shutdown, but file integrity might be compromised.

After the shutdown is complete, the following message appears:

Stopping UniVerse...UniVerse Spooler has been stopped.RM has been stopped.Uvcleanupd has been stopped.Unirpcd has been stopped.UVSMM has been stopped.UniVerse has been brought down.

You can now bring the UNIX system down to single-user mode from multi-user mode.

Warning: Do not modify the uv.rc scripts installed with UniVerse. Refer to Script customizationfor details.

Returning to single-user mode

You execute the shutdown command to return the system to single-user mode. The shutdowncommand /etc/shutdown provides an automated shutdown procedure which notifies users thatthe system is about to be shut down after a specified interval. After the interval has elapsed, any usersstill on the system are automatically logged off, and the various system daemons are terminated.From the root directory enter the following command to bring the system to single-user mode:

# shutdown

Wait until shutdown notifies users and finishes running. When the shutdown is completed, thesystem is left in single-user mode. Depending on the reason for the shutdown, you may want toperform file system maintenance, reboot, or power down the system entirely.

Warning: You must run shutdown before turning off the power, or you risk corrupting the filesystem. If you are working in single-user mode and you want to turn off the power, first issue thesync command twice, as follows:

# sync; sync

See the UNIX Programmer’s Manual for a detailed description of the sync command.

Shutting down and rebooting a running system

Rebooting the system is not a cure-all. Nonetheless, there are many cases in which rebooting (that is,rerunning the initialization scripts that take the system from single-user to multiuser mode) can clearvarious error conditions.

Page 28: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 2: Starting up and shutting down UniVerse

28

To notify users that you intend to reboot the system, run the /etc/shutdown command asdescribed in Returning to single-user mode, on page 27. Wait until the shutdown commandnotifies users and finishes running, then perform the reboot as directed by the UNIX manuals for yoursystem.

Script customization

Modifying the uv.rc scripts installed with UniVerse is not recommended because these scripts canchange at each release. Therefore, starting at UniVerse v12.1.x, it is best to use custom script hooksinstead.

If either the uvrc_pre.sh or uvrc_post.sh scripts exist in the UniVerse bin directory, they will beexecuted:

▪ The uvrc_pre.sh script will be executed before the UniVerse shutdown or startup procedure isperformed.

▪ The uvrc_post.sh will be executed after the core UniVerse daemons have been shutdown.

Note: The uv.rc script in the sample directory is no longer used., and any custom logic added tothe start or end of the uv.rc script in the /etc path will not be executed. Likewise, custom scriptchecks not using the uvrc_[pre|post].sh functionality will no longer execute. These scriptsmust be modified to the use the uvrc_[pre|post].sh syntax.

Examples of the uvrc_pre.sh and uvrc_post.sh scripts can be found in the sample sub-directory in UniVerse home (/usr/uv/sample). The first parameter typically passed to theuvrc_[pre|post].sh scripts is either start or stop, depending on the mode used.

If uvrc_[pre|post].sh scripts exit with a non-zero return value, the uv.rc script will exit at thatpoint and not continue.

UniVerse shutdown is executed as root and UniVerse startup is executed by the uvdb user. Ensure thatyou have permission to access impacted files.

Warning: Calling uv.rc in ways other than uv -admin or /etc/uv.rc may cause unexpectedresults. Do not call the $UVBIN/uv.rc script directly.

Page 29: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

29

Chapter 3: Configurable UniVerse parametersWhen UniVerse starts, configurable parameters are used to specify certain UniVerse settings andlimits. This chapter describes these configurable parameters.

The uvconfig and .uvconfig filesThe current settings for the configurable parameters are stored in the uvconfig file, located in theUV account directory. A command called uvregen uses the uvconfig file to create another file inthe UV account directory named .uvconfig, which contains an encrypted version of the currentconfigurable parameter settings. The .uvconfig file is used during the startup of UniVerse.

The uvregen programWhen you run the uvregen program, it does the following:

▪ Verifies that the values in the uvconfig file are reasonable

▪ Creates a new .uvconfig file in the UV account directory

Note: Some uvconfig values might be reasonable but invalid for the current kernelconfiguration. The uvregen program cannot detect such inconsistencies.

See the Rocket UniVerse User Guide for more information about the uvregen program's syntax andoptions.

Allocating shared memoryWhen you start up UniVerse, the settings in the .uvconfig file are used to determine how muchspace to allocate for disk shared memory. Since changing the configurable parameters often changesthe amount of shared memory you need, you should always restart UniVerse whenever you changeany of the configurable parameters.

Recovering .uvconfigIf something happens to the .uvconfig file, there is a file named .uvconfig.bak in the UVaccount directory that is a backup copy of the .uvconfig file as shipped with the release. Rocketstrongly recommends that you make and save a backup copy of the current .uvconfig file witha date and time stamp in the file name before overwriting it. For example, copy .uvconfig to.uvconfig_ddmmyy_hhmm.orig.

If using Automatic Data Encryption (ADE), then the Master Key will be needed in order to fully recoverthe system. Refer to the Security Features Guide, as well as local operational guidance, for instructionson how to obtain the Master Key before proceeding.

Warning: If ADE is used, then proceeding beyond this point without a valid Master Key will placeencrypted data beyond use.

Page 30: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

30

Copy the .uvconfig.bak file to .uvconfig to restore a usable UniVerse environment. If restoringthe uvconfig file as well, use the default values for the parameters. If ADE is used, restore the MasterKey using the uvregen command.

The configurable parametersThe following table lists the UniVerse configurable parameters. The default values shown might bedifferent on your system.

Parameter Description

64BIT_FILES Specifies whether UniVerse uses 32-bit or 64-bit file systems. A valueof 0 means all UniVerse files are created and resized as 32-bit files. Avalue of 1 means all UniVerse files are created and resized as 64-bitfiles. The default value is 0.

ADE_OPTIONS Reserved for future use.AIMG_BUFSZ Specifies the size of the after-image buffer, in bytes. The default is

10,485,760 bytes (10MB). AIMG_BUFSZ cannot exceed the log blocksize multiplied by the log length. The recommended value is the af-ter-image block size multiplied by 100.

Note: If you are using raw disk for your log files and you need tochange the AIMG_BUFSZ parameter, change the value in incrementsof 4,096 bytes. If your log files are regular UNIX files, make yourchanges in increments equal to the block size (in bytes) that your filesystem uses.

Warning: If the block size in your logconfig file exceeds 4096,you must also increase the AIMG_BUFSZ and BIMG_BUFSZ configura-tion parameters. These parameters must be a multiple of the blocksize defined in logconfig.

AIMG_FLUSH_BLKS Specifies the number of blocks in the after-image buffer that thedatabase flushes to the after-image log files at one time. The defaultsetting is 10 blocks.

AIMG_MIN_BLKS Specifies the minimum number of blocks required in the after-imagebuffer before the database flushes the blocks to the after-image log.The default setting is 20 blocks. The size of blocks is defined in thelog configuration table.

ALLOWMARKS The value of this parameter can be either 0 or 1. A value of 1indicates to allow marks (SVM, VM, AM, or TM) in record IDS for non-SQL tables. A value of 0 indicates not to allow marks in record IDs.

Warning: Using multivalued record IDs, text marks and segmentmarks can cause adverse effects on the database, and may corruptindex data. Reports may print improperly and the TRANS functionwill not work properly.

Page 31: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The configurable parameters

31

Parameter Description

ALLOWNFS Specifies whether UniVerse files stored on NFS or RFS-mountedfile systems are allowed to be opened without UVNet. A zero valueis the default and means that the UVNet package is required toaccess remote files. A nonzero value permits the remote files to beopened, but locks will not be maintained on the remote system. Thisparameter should only be turned on in the following cases:

▪ When UniVerse is not running or not installed on the remotesystem. File integrity is compromised when locks are notmaintained on the remote system.

▪ When the system administrator does not allow other UniVerseinstallations to gain access to the same remote UniVerse files atthe same time.

ARCH_FLAG Turns the archiving system on or off. Any positive integer turnsarchiving on. The default setting is 0, meaning off.

For archiving to function correctly, you must also complete theprocedure provided in the Archiving chapter of the Recoverable FileSystem Administrator Guide.

ARCH_WRITE_SZ Specifies the size, in bytes, of blocks for the archive process to writefrom log files to archive files. The default setting is 0, meaning thatafter-image log files are written to archive files one block at a time. Ifthis parameter is set to a nonzero value, it must be a multiple of thelog/archive block size.

Note: Setting this parameter may improve performance. Theperformance improvement is platform-specific. Because writing logfiles to archive files uses memory, the larger you set this parameter,the more memory your system will use.

ARCHIVE_BACKUP This parameter turns the automatic backup of archive files onor off. If this parameter is set to 1, the database executes theuvarch_backup script located in uvhome/bin. The defaultsetting is 0, meaning off.

AUDIT_LOG_COMPRESS Compresses a full log output block (default size is 4K), and writesthe compressed data into the audit log files. The compression logfile is a binary file that cannot be viewed by a text editor, and isnot directly loadable to a hash file or third-party tool. A value of1 enables compression. 0 disables it. The default value is 0. Thisparameter applies to sequential log file only. For hashed log filesand syslog files, it is ignored.

AUDIT_LOG_ENC Specifies whether encryption is required for audit log records. Thedefault is 0 or FALSE. To turn on encryption, specify 1 or TRUE.UniVerse encrypts the files regardless of whether Automatic DataEncryption has been set up or not.

Note: If you change this value, you must back up and remove allexisting audit log files before you restart UniVerse.

AUDIT_LOG_LOC Specifies the directory where hashed or sequential audit log files, aswell as the staging and large record directories, are created. If thisvalue is not a full path, UniVerse treats it as relative to UVHOME. Ifnot specified, the default is $UVHOME/audit.

Page 32: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

32

Parameter Description

AUDIT_LOG_START_DISABLED Allows you to specify whether Audit Logging starts automatically ormanually when UniVerse starts. A value of 1 disables Audit Loggingwhen UniVerse starts. A value of 0 means Audit Logging is alwaysstarted enabled. The default is 0.

AUDIT_LOG_MAX Specifies the maximum number of hashed or sequential audit logfiles to be concurrently written by UniVerse. The value should bebetween 1 and 8. The default is 1. For sequential log file types, if thevalue is greater than 1, then multiple concurrent threads are createdwithin uvaudd to handle the log writes. Each writer thread writes toa separate log file.

AUDIT_LOG_MSG_LEVELS Controls which classes of log message are to be logged. By default,all the values are enabled. The values are:

▪ INFO

▪ WARNING

▪ ERROR

▪ CRITICAL

INFO type messages are stored in the uvaudd.log file. WARNING,ERROR, and CRITICAL messages are stored in the uvaudd.errlogfile.

AUDIT_LOG_TYPE Specifies the audit log file type. The default is 2 (sequential file).Valid options are:

▪ 1 - Type-30 UniVerse Dynamic file

▪ 2 - Operating system sequential file (default)

▪ 3 - Operating system syslog file (valid only for UNIX/Linux)AUDIT_SEQ_BUF_SZ Specifies the size of each memory buffer used for sequential log

files in 1K blocks. UniVerse will have all buffers initialized, butonly the first AUDIT_LOG_MAX ones activated. UniVerse processes(such as uvsh) randomly choose an active buffer each time a logrecord is produced to provide balanced load for all buffers and toaccommodate buffer suspension/resumption. A larger size canimprove audit performance. This parameter only applies to thesequential audit log file. The unit is 1024-byte block. The default is1024 (1 MB).

AUDIT_SEQ_FILE_SWITCH Specifies the amount of time in seconds before UniVerse mustswitch to a new audit log file. On a busy system, the log filecan grow rapidly. Decide the value carefully based on yourapplication and system load. The format of this parameter isuvaud.ddmmyyyy.seq, where seq is a sequential numberdetermined by UniVerse to guarantee the uniqueness of the logfiles. The timestamp is determined by UTC time. This parameteronly applies to the sequential audit log file. The unit is 1 second. Thedefault is 0 (no time switch limit).

Page 33: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The configurable parameters

33

Parameter Description

AUDIT_SEQ_FILE_SZ Specifies the maximum size of a sequential log file in 1K blocks.UniVerse will automatically switch to a new audit log file when itssize has reached the maximum. UniVerse can switch to a new fileeven if the maximum is not reached. See AUDIT_SEQ_FILE_SWITCHfor more information. This parameter only applies to the sequentialaudit log file. The unit is 1024-byte block. The default is 500000 (500MB), and the minimum size should not be less than 1MB. The totalsize cannot be larger than 4GB.

AUDIT_SEQ_OUTBLK_SZ Specifies the output block size in 1K blocks used by the uvaudddaemon for sequential log files. uvaudd writes to a log file onlyafter at least this size of data was available from the buffer. It isnot necessarily equal to the system physical block size. Dependingon platforms, a larger block size can improve performance butcan cause more log data loss in the case of a system crash. Thisparameter only applies to the sequential audit log file. The unit is1024-byte block. The default is 4 (4 KB). Any value less than 1 orgreater than 32 will default to 4.

AUDIT_SEQ_SYNC_CNT Specifies the number of cached log records when UniVerse mustput the cached data into the system buffer. On a busy system, thelog data can grow very rapidly. Decide the value carefully basedon your application and system load. If the value is 0, data is notcached and the audit log record is immediately put into the systembuffer. A larger count value may cause more log data loss in thecase of a system crash. See AUDIT_SEQ_SYNC_TIME for moreinformation. This parameter may or may not improve performance.This parameter only applies to the sequential audit log file. Thedefault is 0 (no caching), and you can choose up to 1000.

AUDIT_SEQ_SYNC_TIME Specifies the amount of time in milliseconds (up to 5,000) beforeUniVerse must put the cached audit log records into the systembuffer. On a busy system, the log data can grow very rapidly. Decidethe value carefully based on your application and system load. If thevalue is 0, data is not cached and the audit log record is immediatelyput into the system buffer. A longer sync time may cause more logdata loss in the case of system crash. See AUDIT_SEQ_SYNC_CNTfor more information. This parameter may or may not improveperformance. This parameter only applies to the sequential audit logfile. The unit is 1 millisecond. The default is 0 (no caching).

BGINPUTTIMEOUT The amount of time, in seconds, a background process, includingPHANTOMS, waits for input before it terminates.

Page 34: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

34

Parameter Description

BIMG_BUFSZ Specifies the size of the before-image buffer in bytes. The defaultsetting is 10,485,760 bytes (10MB). BIMG_BUFSZ cannot exceed thelog block size multiplied by the log length. The recommended valueis the before-image block size multiplied by 100.

Note: If you are using raw disk for your log files and you need tochange the BIMG_BUFSZ parameter, change the value in incrementsof 4,096 bytes. If your log files are regular UNIX files, make yourchanges in increments equal to the block size (in bytes) of your filesystem.

Warning: If the block size in your logconfig file exceeds 4096,you must also increase the AIMG_BUFSZ and BIMG_BUFSZ configura-tion parameters. These parameters must be a multiple of the blocksize defined in logconfig.

BIMG_FLUSH_BLKS Specifies the number of blocks in the before-image buffer that areflushed to the before-image log files at one time. The default settingis 10 blocks.

BIMG_MIN_BLKS Specifies the minimum number of blocks required in the before-image buffer before the system will flush the blocks to the before-image log. The default setting is 20 blocks. The size of blocks isdefined in the log configuration table.

BLKMAX Sets the maximum block size for UVBACKUP and UVRESTORE. Itmust be greater than, and a multiple of, 512.

CENTURYPIVOT Sets the century pivot year, which determines how 1 and 2 digityears are interpreted by the ICONV function. A value of 1930 meansthat 30 through 99 are interpreted as the 1900s, and 00 through29 are interpreted as 2000 - 2029. If the century pivot value is twodigits, the century pivot year is based on the current year, as follows:a value of 30 means the century pivot year is 1930 in 2000, 1931 in2001, 1932 in 2002, and so forth. The default value is 1930.

CHKPNT_TIME Specifies the checkpoint interval. RFS retains recently requestedand recently written file blocks in the system buffer. The databaseflushes changes in the system buffer to disk each time thecheckpoint interval elapses. The database also flushes the bufferif the buffer fills, regardless of timing. The default setting is 300seconds.

CONVERT_EURO If this value is set to 0 (the default), UniVerse does not do any Euroconversion.

If this value is set to 1, UniVerse performs Euro conversion.CPLOGRLS The amount of time, in seconds, UniVerse waits before releasing a

log file. If this value is 0 (the default), the uvchkd process calls thefsync function for all data files that have updates in the current logfile. If this value is greater than 0, uvchkd does not call the fsyncfunction and waits to release the log file for the number of secondsyou specify.

CSHDISPATCH Defines the full path name for the csh shell command. On UNIXsystems the default is /usr/bin/csh.

On Windows systems the default is NOT_SUPPORTED.

Page 35: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The configurable parameters

35

Parameter Description

DF_PATHTYPE Specifies whether distributed files are created with absolute orrelative paths for their part files.

The default is 0 for absolute paths. Set the value to 1 for relativepaths.

DOSDISPATCH Defines the full path for the DOS shell command. On UNIX systemsthe default is NOT_SUPPORTED. On Windows systems the default isCMD.EXE.

EXACTNUMERIC Specifies the number of digits of precision before rounding occurs. Itcan be between 15 through 57 digits. The default value is 15 digits.

FIELD_UPDATE_THRESHOLD Defines the record size threshold to which field-level updates apply.This threshold is an integer, in kilobytes, and applies to the specifiedfile only. If a record is updated to a file with length exceeding thethreshold, the database generates a field-level replication log.Otherwise, the entire record is replicated.

The default is 0. With the default setting, field-level updates are notused for WRITE commands.

This parameter affects RFS and replication files, including hash filesand directory files. If the file is not a published replication or RFS file,this has no effect.

For more information, refer to the "Field-level replication" section inthe U2 Data Replication User Guide and the WRITE documentation inthe UniVerse BASIC Commands Reference guide.

FIPS_MODE Specifies the default system-wide FIPS mode. UniVerse uses anembedded FIPS 140-2 validated cryptographic module providedby OpenSSL. When UniVerse is running with FIPS mode enabled(value 1), all its crypto operations are performed by the embeddedFIPS module where only FIPS 140-2 compliant crypto algorithms areallowed. When FIPS mode is disabled (value 0), no such restrictionsapply. Default value: 0.

Note: Beginning at UniVerse 11.3.1 or higher, when FIPS mode isenabled in the uvconfig file, the SSLv3 protocol is unavailable andis blocked from all incoming and outgoing secure connections toand from the database.

Warning: If FIPS mode is enabled, you cannot use an algorithm thatis not FIPS compliant to decrypt a file or a field. Attempts to decryptusing a non-compliant algorithm will generate the exception,"Unable to decrypt the record: Cipher is not supported."

FMT_TEXTMARK Dictates how the UniVerse BASIC FMT function treats a string whenyou specify the field width and the input string is larger than thatfield width.

▪ 1 - If the input string is larger than width n, UniVerse inserts a textmark (CHAR (251)) every n characters. UniVerse pads each fieldwith the fill character to the width definition.

▪ 0 - If the input string is larger than width n, UniVerse truncatesthe string at width n.

Page 36: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

36

Parameter Description

GLM_MEM_SEGSZ Specifies the segment size for each shared memory segmentrequired for the lock manager. The default setting is 10485760.

The maximum number of segments is 16. Large applicationenvironments require a large size. Each UniVerse process registersthe lock names that it is locking in its per-process locking table. Thistable is also organized as a hashed table.

GRPCMT_TIME Specifies the group commit interval. The database records each up-date operation in the system buffer and in an after-image log file.The group commit interval keeps system performance from beingtoo greatly affected by reducing the after-image log input time. Thedefault setting is 5.

Tip: If you set the GRPCMT_TIME parameter too low, you may hurtsystem performance. The database allows a constant-write setting,for instance (a setting of zero), but using that setting slows perfor-mance. If system performance is poor, increase the setting. The typi-cal range of settings is from 1 to 5 seconds.Increasing this parameter increases the risk of loss in the event of asystem crash. If you want immediate writes to the after-image logfile, set this parameter to zero, keeping in mind that system perfor-mance may be affected.

HISTSTK Specifies the maximum number of sentences in a user’s sentencestack. The default value is 99.

HTTP_DEFAULT_VERSION Specifies the default HTTP version for HTTP requests. Currently onlytwo values are allowed: 1.0 and 1.1. If other values are specified,UniVerse defaults to 1.1.

ISOMODE Sets the SQL isolation level. See the UniVerse BASIC User Guide for anexplanation of the possible values. The default value is 1.

JOINBUF Specifies the size of the cache the optimizer uses for joins withexplicit record IDs or indexes. The default value is 4095.

LAYERSEL Determines whether a select list remains active when returningfrom a higher EXECUTE level. A value of 0 maintains an active selectlist. Any other value clears any select lists before returning to theprevious layer, unless K mode is active. The default value is 0.

LOG_OVRFLO Specifies a directory (absolute path) for overflow from log files. Ifyou install the database with the RFS option, the database promptsyou for the location where you want to put your log files. (You maywant to specify a directory on a separate file system for best systemperformance.) The database then creates a directory called over-flow under that log directory, and sets the LOG_OVRFLO parameteraccordingly.

LOGBLNUM Specifies the size of the log data buffer, in file system blocks. Thedefault value is 8.

LOGBLSZ Specifies the log buffer block size should be the same as the blocksize of the file system where the log directory is mounted. Thedefault value is 512.

LOGSYCNT Specifies the maximum number of commits allowed between logfile syncs. If the specified value is less than 2, it is changed to 0. Thisparameter has no effect on a nontransactional environment. Thedefault value is 0.

Page 37: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The configurable parameters

37

Parameter Description

LOGSYINT Specifies the maximum time interval allowed between log filesyncs. The minimum value (other than 0) you can specify is 5. Ifthe LOGSYCNT parameter is set to a value other than 0, LOGSYINTdefaults to 120.

MALLOCTRACING Turns on malloc tracing for UniVerse support analysis. 1 turnstracing on, 0 turns tracing off. The default value is 0.

MAX_LRF_FILESIZE In Data Replication: The maximum log reserve file size, in bytes.The default value is 1,073,741,824 (1 GB). The maximum valueis 2,147,483,136. This file is used primarily when replication issuspended. This value applies to the size of each body<nn> orinfo<nn> file in each <group_name>.lrf directory. The .lrfdirectories reside in the uvconfig REP_LOG_PATH directory.

MAX_PRINT_FILES Specifies the maximum number of print files that can exist at onetime. The default value is 9999.

By default, the database assigns a 4-digit number to every print jobup to 9999, at which point, it recycles back to a single digit.

Setting this parameter to a number greater than 9999 preventsprint job numbers from being overwritten when the number of filesexceeds 9999. The recycling of print job numbers happens whenusing the SETPTR command with BANNER NEXT.

MAX_REP_SHMSZ The maximum shared memory buffer segment size for a replicationgroup. This value includes consideration for REP_BUFSZ,N_LOGINFO, distributions, and group control information. Thedefault value is 1,073,741,824 (1 GB) and it must be less than 2GB. If MAX_REP_SHMSZ_GB is configured, then the maximumshared memory buffer size for a replication group is the sum ofMAX_REP_SHMSZ_GB * 1GB + MAX_REP_SHMSZ.

MAX_REP_SHMSZ_GB The maximum shared memory segment size, in GB, for areplication group. If this value is configured, then the maximumshared memory buffer size for a replication group is the sum ofMAX_REP_SHMSZ_GB * 1GB + MAX_REP_SHMSZ.

MAX_RW_INGRP In Data Replication, the maximum number of replication writerprocesses that can be configured in a replication group. The defaultvalue is 8. (This parameter is obsolete as of UniVerse 11.2.0.)

MAXERRLOGENT Specifies the maximum number of log entries that can be written tothe errlog file. The default is 100.

MAXKEYSIZE Specifies the maximum number of characters for a primary key. Itmust be any multiple of 64 between 256 and 2048. The full recordID is stored in the record lock entry. The default value is 255. Do notchange MAXKEYSIZE from the default value without understandingits effect on the record lock table entries.

MFILES Specifies the size of the UniVerse rotating file pool. The value ofMFILES must be at least 8 less than the system’s open files perprocess limit. The default value is 200. Count UVNet connections asfiles. Pipes are not part of the rotating file pool, but they do count asfiles.

MODFPTRS Specifies whether file pointers in the VOC file can be modified bythe COPY, DELETE, and EDIT commands. A value of 0 disallowsmodifications of VOC file pointers. The default value is 1.

Page 38: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

38

Parameter Description

N_AFT Specifies the size of the active file table (AFT), which contains an en-try for every unique file and tracks the number of files that are opensystem-wide. This parameter has a default value of 5000. Dynam-ic files consume two slots and each file index consumes one slot.The AFT can become quite large when applications have many filesopen at once. You can configure the size of the table by adjusting theN_AFT_SECTION and N_AFT_SECTION_BUCKET configuration para-meters.

N_AFT_SECTION Specifies the number of sections in the system-wide active file table(AFT). Dividing the AFT into multiple sections reduces wait times be-cause it makes it possible for different uvsh/user processes to searchin different sections at the same time. It also reduces the number ofentries it needs to search through.

The default value of this parameter is 17. You can increase the num-ber of sections using this parameter, but ensure that the new valueis greater than 0, less than N_AFT/2, and be a prime number. It is rec-ommended that you increase this number in small increments andreview the results using the uvsysmon utility.

N_AFT_SECTION_BUCKET Specifies the number of hash buckets in an active file table (AFT).The default value for this parameter is 23. This parameter must be aprime number and greater than the value of the N_AFT_SECTION pa-rameter.

The average number of files to be loaded into a hash bucket in theAFT can be calculated using the following formula: (N_AFT/N_AF-T_SECTION)/N_AFT_SECTION_BUCKET. If the default uvconfig set-tings are used, this formula, (5000/17)/23, results in approximately13 files per hash bucket.

N_AIMG Specifies the number of after-image log files in each group of suchfiles described in the log configuration table. The default setting is 2.

Tip: When you change this parameter, you must change the logconfiguration table and run uvcntl_install. You can use theuvsysmon utility to determine when to change N_AIMG. If the waitrate (WaitRate) is higher than 5 percent or the polling rate (PollRate)is higher than 2 percent, consider increasing the value of N_AIMG.

N_ARCH Specifies the number of archive files defined in the archiveconfiguration table. If you change this parameter in the uvconfigfile, you must run uvcntl_install. The default setting is 2.

Tip: When you change this parameter, you must change the archiveconfiguration table.

N_BIG Specifies the number of block index groups (BIGs). A block indexgroup acts as an index to the pages in the system buffer, defined byN_PUT. If N_BIG is too large, the number of semaphore operationswill increase since each BIG has a semaphore control, which mayincrease page swapping. If N_BIG is too small, there will be a lot ofcontention between different processes, which will negatively im-pact system performance. The default is 233.

Tip: The value of N_BIG must be smaller than N_PUT. The optimumvalue for N_BIG is highly application-dependent. As a starting point,you may set N_BIG to the prime number nearest NUSERS * 5. N_BIGmust always be a prime number.

Page 39: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The configurable parameters

39

Parameter Description

N_BIMG Specifies the number of before-image log files in each group of suchfiles described in the log configuration table. The default setting is 2.

Tip: When you change this parameter, you must change the log con-figuration file and run uvcntl_install. You can use the uvsys-mon utility to determine when to change N_BIMG. If the uvsys-mon wait rate (WaitRate) is higher than 5 percent or the polling rate(PollRate) is higher than 2 percent, consider increasing the value ofN_BIMG.

N_PUT Specifies the system buffer size in pages. Each page is 1024 bytes.If the system buffer size is too small, many files may be swapped inand out of the buffer. Increasing the system buffer size may improveperformance; the optimum setting is highly application-dependent.The default setting is 8192 pages.

Tip: If you change N_PUT to a larger number, you should also in-crease N_BIG.

N_REP_OPEN_FILE In Data Replication, the maximum number of open replication logfiles for a uvsh process. The default value is 8.

N_SYNC Specifies the number of sync daemons that you want running onyour system. If you notice significant performance degradationduring a checkpoint, you can increase the number of sync daemons.Sync daemons periodically flush update pages from the systembuffer to the log files, reducing the amount of time it takes tocomplete a checkpoint.

NETTIME Sets the timeout value in minutes for UVNet. The default value is 5.NLSDEFDEVMAP Specifies the name of the default map to use for device input

or output. This map is used for all devices except printers thatdo not have a map specified in the &DEVICE& file. The ASSIGNMAP command overrides this setting. The default value isISO8859-1+MARKS.

NLSDEFDIRMAP Specifies the name of the default map to use for type 1 and type19 files without assigned maps. This occurs if a type 1 or type 19file was not created on an NLS system and has not had a mapdefined for it by the SET.FILE.MAP command. This map appliesonly to the data in records, not to record IDs. The default value isISO8859-1+MARKS.

NLSDEFFILEMAP Specifies the name of the default map to use for hashed fileswithout assigned maps. This occurs if a hashed file was not createdon an NLS system and has not had a map defined for it by theSET.FILE.MAP command. The default value is ISO8859-1+MARKS.

NLSDEFGCIMAP Specifies the name of the default map to use for string argumentspassed to and from GCI subroutines. This map is used if the GCIsubroutine does not explicitly define a map. The default value isISO8859-1+MARKS.

NLSDEFPTRMAP Specifies the name of the default map to use for printer output. Thismap is used if a printer does not have a map defined for it in the&DEVICE& file. The default value is ISO8859-1+MARKS.

NLSDEFSEQMAP Specifies the name of the default map to use for sequentialinput or output for files or devices without assigned maps. TheSET.SEQ.MAP command overrides this setting. The default value isISO8859-1+MARKS.

Page 40: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

40

Parameter Description

NLSDEFSOCKMAP The name of the map to associate with sockets that are eitherexplicitly created through UniVerse BASIC APIs, or implicitly createdthrough other APIs, such as CallHTTP.

NLSDEFSRVLC Specifies the name of the default locale to use for passing datato and from client programs. This locale is used if the clientprogram does not specify a server locale. The default value isISO8859-1+MARKS.

NLSDEFSRVMAP Specifies the name of the default map to use for passing data to andfrom client programs. This map is used if the client program doesnot specify a server map. The default value is ISO8859-1+MARKS.

NLSDEFTERMMAP Specifies the name of the default map to use for terminal inputor output. This map is used if a terminal does not have a mapdefined for it in its terminfo definition. The SET.TERM.TYPEMAP command overrides this setting. The default value isISO8859-1+MARKS.

NLSDEFUSRLC Specifies the default locale. The default value is OFF.NLSLCMODE Specifies whether locales are enabled. A value of 0 indicates that

locales are disabled. A value of 1 or 2 indicates that locales areenabled. When the TIME locale is on, the value of NLSLCMODEcontrols the first day of the week. When set to 1, Sunday is the firstday of the week. A setting of 2 results in Monday being the first dayof the week.

NLSMODE Turns NLS mode on or off. A value of 1 indicates NLS is on, a value of0 indicates NLS is off. If NLS mode is off, UniVerse does not check anyother NLS parameters.

NLSNEWDIRMAP Specifies the name of the map to use for new type 1 and type 19 filescreated when NLS mode is on. This map applies only to the data inrecords, not to record IDs. The default value is ISO8859-1+MARKS.

NLSNEWFILEMAP Specifies the name of the map to use for new hashed files createdwhen NLS mode is on. A value of NONE (the default value) indicatesthat data is to be held in the internal UniVerse character set.

NLSOSMAP Specifies the name of the map to use for file names or record IDsvisible to the operating system. This chiefly affects CREATE.FILEand record IDs written to type 1 or type 19 files. The default value isISO8859-1.

NLSREADELSE Specifies the action to take if characters cannot be mapped when arecord is read by a READ statement. A value of 1 indicates that theREAD statement takes the ELSE clause. A value of 0 indicates thatunmappable characters are returned as the Unicode replacementcharacter 0xFFFD. The default value is 1.

NLSWRITEELSE Specifies the action to take if characters cannot be mapped whendata is written to a record. A value of 1 indicates that the writeaborts or takes the ON ERROR clause (if there is one). A value of0 indicates that unmappable characters are converted to the filemap’s unknown character (for example, ?) before writing the record.When this happens, some data may be lost.

NSEM_PSET Specifies the number of semaphores per semaphore set. The defaultvalue is 8.

Page 41: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The configurable parameters

41

Parameter Description

NUSERS The number of user sessions (such as uvsh and PHANTOM) that canrun at the same time. The recommended value is greater than orequal to the number of licensed users. This will require tuning basedon the number of UniVerse processes that are required to run onthe system at the same time. If this parameter is too low, you seethe "No More LCTs" error. If you set NUSERS to a value below thelicensed user count, UniVerse will use the licensed user count inplace of NUSERS.

For example, an enterprise license of 150 users should haveNUSERS set to 1875 (150 * 10) + 25%. (Note: The example assumes amaximum of 10 connections for each user. Adjust this value to youraverage number of connections per user.)

▪ Change SHM_GNTBLS to 32 and change SHM_GNPAGES to 64 toensure 32 * 64 = 2048, which is greater than NUSERS.

▪ Check that the UNIX value of semmni is at least 1232. (NUSERS /(NSEM_PSET+1)) + 1024.

▪ Check that the UNIX value of semmns is at least 3933. (NUSERS +10 + 2048)

▪ Check that the UNIX value of shmmni is at least 1880. (Greaterthan SHM_GNTBLS or NUSERS +5)

▪ Check that the UNIX value of semmnu is at least 1775 (NUSERS).OCVDATE Specifies whether UniVerse accepts partially bad internal dates.

A value of 0 rejects any value that is not wholly numeric andsupplied as an internal date to the D conversion code; the date isnot converted. Any value other than 0 accepts a number followed bynonnumeric data (for example, 9199-f); the number is treated as aninternal date, and the STATUS function is set to 3. The default valueis 0.

OPENCHK Modifies the behavior of operations on files opened with theBASIC OPEN statement. When set to 0, no integrity constraints areobserved. This parameter does not affect files opened using theOPENCHECK statement. The default value is 1.

OPTMEM Specifies the amount of memory allocated for the query optimizer’sworkspace. This is specified in 1K units. The default value is 256.

PAKTIME Specifies the number of seconds the system waits at the PressAny Key to Continue message before releasing a pendinggroup lock. The default value is 300.

PERF_MON_FILE Specifies the number of UniVerse files that performance monitoringneeds to trace in each UniVerse session. This value is ignored ifPERF_MON_MODE is disabled or Rocket SystemCure for UniVerse isnot licensed. The default value is 200.

PERF_MON_MODE Specifies whether to enable performance monitoring. The defaultvalue is 1. Valid values are:

▪ 0 - Disable performance monitoring

▪ 1 - Enable performance monitoringPHANTOMSAMEUV The value of this parameter can be either 0 or 1. If you specify 1,

UniVerse enables the phantom using the same uv executable. Avalue of 0, the default, uses UVHOME/bin/uv.

Page 42: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

42

Parameter Description

PI_MATCHFIELD If you set the value of this parameter to 1, the UniVerse BASICMATCHFIELD function performs as it does in PI/open.

PI_SOUNDEX If you set the value of this parameter to 1, two consecutive lettersfrom the same group return a single digit in the result. Additionally,.UniVerse retains letters from the same group which are separated byvowels in the input string, and each will return the associated groupdigit in the result. This behavior is consistent with PI/open.

PICK_MT The value of this parameter can be either 0 or 1. 1 indicates the MTconversion works the same as the Pick flavor in INFORMATION. Avalue of 0 indicates UniVerse MT conversion handling.

PICKDATE The value of this parameter can be either 0 or 1. A value of 1indicates that UniVerse will accept Pick-style dates, and handle datain the same way as Pick. A value of 0 indicates the default UniVersedate format of yyyymmdd.

PICKNULL Sets the masked decimal conversion for empty data. A value of 1turns on Pick-style conversions, where empty data is converted toan empty string. A value of 0 indicates UniVerse-style conversions,where empty data is converted to 0.00.

PIOPENDEFAULT Sets the INFO.CONVERT and PIOPEN.EXECUTE options of the BASIC$OPTIONS statement as defaults in PIOPEN flavor accounts. IfPIOPENDEFAULT is set to 1, UniVerse maintains the current printerlocation when switching between print modes 1 and 3 with the !SETPU subroutine call.

PI_SOUNDEX When the value of this parameter is 0 (the default), the currentdefault behavior of SOUNDEX will be maintained. When the valueof this parameter is set to 1, two consecutive letters from the samegroup return a single digit in the result. Additionally, UniVerseretains letters from the same group which are separated by vowelsin the input string, and each will return the associated group digit inthe result. This behavior is consistent with PI/open.

PKRJUST A value of 1 gives Pick-style right-justified behavior for LIST andSORT in all flavors. Pick-style right-justified behavior can overwritedata in previous columns if the data exceeds the column or thecolumn header width. The default value is 0.

PROCACMD Defines the action of the ProVerb A command. A value of 0 specifiesthat the A command quits when m characters are moved, or whena field mark or the end of the input buffer is reached. A positivenonzero value causes the A command to ignore the field mark. Thedefault value is 0.

PROCPRMT Determines the effect of the UniVerse PROMPT on the ProVerbprompt. A value of 0 lets the PROMPT keyword change the ProVerbprompt. Any other value retains the ProVerb prompt, which can bechanged only by the IP ProVerb command. The default value is 0.

PROCRCMD Determines the behavior of the ProVerb RI command. A value of 0clears the input buffer and removes the preceding field mark. Anyother value does not remove the field mark. The default value is 0.

PSEMNUM Sets the number of BASIC user process control locks. The defaultvalue is 64.

Page 43: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The configurable parameters

43

Parameter Description

QBREAK Selects the function of the keys Q and Ctrl-X at the Press AnyKey to Continue message. A value of 0 means that the Q andCtrl-X keys are ignored while in BREAK OFF mode. A nonzero valueallows the Q and Ctrl-X keys to quit at the Press Any Key toContinue message even in BREAK OFF mode. There are securityimplications to selecting the latter mode of operation. The defaultvalue is 1.

QDEPTH Specifies the maximum depth of nesting allowed in Q-pointerreferences. The default value is 16, and the minimum value is 0.

QSBRNCH Specifies the number of runs which cause a sub-merge to beperformed by the query processor’s sorting algorithm. This issometimes referred to as the branching factor of the sort. Theefficiency of the sorting algorithm is very sensitive to the value ofQSBRNCH. The default value is 4, and the minimum value is 2.

QSDEPTH Specifies the maximum depth of the sort tree used by the queryprocessor’s sorting algorithm. The efficiency of the sorting algorithmis very sensitive to the value of QSDEPTH. The default value is 8, andthe minimum value is 2.

QSMXKEY Specifies the maximum number of sort key components. Theefficiency of the sorting algorithm is very sensitive to the value ofQSMXKEY. The default value is 32.

QSRUNSZ Specifies the size of the initial sorting run used by the queryprocessor’s sorting algorithm. The efficiency of the sorting algorithmis very sensitive to the value of QSRUNSZ. The default value is 2000,and the minimum value is 2.

REALITY_DEFAULT Alters the default behavior of the OCONV function in Reality-flavoraccounts. When set to the default value of 0, the current behavior ismaintained. When set to 1, the OCONV(date,'DWA') function returnsthe day of the week in mixed case (for example, Thursday) ratherthan the default behavior of returning upper case (for example,THURSDAY).

REP_ASYNCHRONOUS_TP Specifies how to handle cross-group transactions. When set to 1,cross-group transactions are handled in asynchronous mode. Whenset to the default value of 0, transactional updates are handledsynchronously, and the transaction is committed on the subscriberafter all replication groups have been updated.

REP_CP_TIMEOUT Specifies the checkpoint manager (uvcm) daemon timeout intervalfor replication at checkpoint. The default value is 200 seconds. If thisvalue is set to 0, the uvcm daemon will not time out.

REP_DISABLE_DISK_PCT This parameter defines the system-wide limit of disk usagefor replication logs. The value is the maximum percentage thereplication log files can consume of the total space availableon the file system in which the logs are configured. The defaultconfiguration parameter is 95%. Data replication is immediatelydisabled if this limit is reached, and a full resynchronization of thesubscriber is required after this event. If the replication log disk isshared with data files or other applications, you should properlydefine this percentage to prevent application or database failuredue to a growing replication log file size.

REP_FLAG If this value is 0, Data Replication is off. If this value is a positiveinteger, it is on.

Page 44: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

44

Parameter Description

REP_IGNORE_QPOINTER Specifies whether or not to load Q-pointers. If this value is set to 0,Data Replication will load and process all file pointers in an account.If this value is set to 1, the following occurs:

▪ UniVerse ignores all Q-pointers encountered during the loadingof the replication object table

▪ If a Q-pointer is defined in the repconfig file as part of a “FILE”phrase, UniVerse ignores the Q-pointer

▪ For any record-level update that is done through a Q-pointer,including a COPY or CLEARFILE command or a UniVerse BASICprogram that opens the Q-pointer or writes through the Q-pointer, if the file that the Q-pointer actually resolves to is itselfreplicated, the update is replicated and sent through the primaryfile reference to which it resolves. If the Q-pointer resolves to afile that is not replication, it is ignored.

REP_LOG_PATH The full path to the replication log files. The default value is$UVHOME/replog$UVHOME/replog.

RFS_DUMP_DIR Specifies where the database stores the rfs.dump file when theuvs_stat -s command is executed. The default value is anempty string in UNIX, with the database storing the rfs.dump filein the uvhome directory. If the database determines the definedpath is invalid when it starts, it writes the rfs.dump file to theuvhome directory, and prints a message to the uvsm.log file.

RFS_DUMP_HISTORY (usewith RFS)

Specifies how many rfs.dump files to preserve when you executethe uvs_stat -s command.

The default value of this parameter is 1. With this value, thedatabase creates the rfs.dump file that you specify with theRFS_DUMP_DIR parameter.

If this value is set to a positive integer, for example 4, the data-base names the rfs.dump files rfs.dump1, rfs.dump2, rf-s.dump3, and rfs.dump4. The uvs_stat -s command usesthe first available rfs.dump file. If all the rfs.dump files are full,the uvs_stat -s command reuses the oldest rfs.dump file.

If this value is set to 0, the database preserves all rfs.dump filesand names them rfs.dump1, rfs.dump2, and so forth.

RFS_MODE Specifies the mode in which RFS will run. When set to 0, which is thedefault setting, RFS runs in writethrough mode. When set to 1, RFSruns in full-protection mode.

SB_PAGE_SZ Specifies the size of a page in the system buffer in terms of the num-ber of 1024 bytes. The default value is 1, meaning that each page inthe system buffer is 1024 bytes. This value must be a power of 2 (1, 2,4, 8, 16, and so on).

Note: As of UniVerse 12.1, shared memory segments are being used.To size the system buffer memory segment appropriately, you mustmultiply the SB_PAGE_SZ value by the N_PUT value.

SCRMAX Specifies the maximum size of the UniVerse scratch buffer pool.SCRMAX must be larger than SCRMIN, and must be specified afterSCRMIN. The default value is 5.

Page 45: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The configurable parameters

45

Parameter Description

SCRMIN Specifies the minimum size of the UniVerse scratch buffer pool.SCRMIN must be at least 1 and must be specified before SCRMAX.The default value is 3.

SCRSIZE Specifies the initial size of a scratch buffer. SCRSIZE must be from512 through 2048. The default value is 512.

SELBUF Specifies the size of the in-memory select list buffer. It is the amountof locally cached select data which can be stored before the selectlist starts using disk storage. It is specified in 1K units. The defaultvalue is 4.

SESSION_AFT_BUCKET Specifies the number of hash buckets an active file table (AFT) isdivided into for each UniVerse session. These buckets can be usedto improve AFT table searching when a UniVerse session has a fileopened in the system buffer.

You can change the number of hash buckets per session byincreasing the value of this parameter. This number must be greaterthan 0 and should be a prime number.

SESSION_NFILES Specifies the number of logical files the application can open persession. When this limit is reached, attempts to open additionalfiles will fail. The default value is based on a multiple of the currentMFILES setting.

You can change the number of logical files the application can openper session by increasing the value of this parameter.

SHDISPATCH Defines the full path for the sh shell command. On UNIX systemsthe default is /usr/bin/sh. On Windows systems the default isNOT_SUPPORTED.

SHM_ATT_ADD Starting address for shared memory attachment. Set at installation;do not change this unless instructed by U2 Technical Support.

SHM_FREEPCT Percentage of freed global pages in an active global shared memorysegment that UniVerse keeps in the global shared memory pool.smm checks the current percentage; if the percentage is less thanSHM_FREEPCT, smm creates a new shared segment.

SHM_GNPAGES Number of global pages in a shared memory segment. Tune(SHM_GNTBLS * SHM_GNPAGES) high enough to avoid "No MoreGCTs" error. This parameter should be a multiple of 32.

SHM_GNTBLS Number of GCTs (global control tables) in CTL. Each shared memorysegment is associated with a GCT. The GCT registers the use ofglobal pages in its associated shared memory segment. Tune(SHM_GNTBLS * SHM_GNPAGES) high enough to avoid the "No MoreGCTs" error.

SHM_GPAGESZ Size of each global page, in 512-byte units. This parameter should bea multiple of 32.

SHM_LBA Alignment size, in bytes, for shared memory attachment. Set atinstallation; do not change.

SHM_LCINENTS The number of entries in the CI table of each LCT, which is thenumber of local pages that can be attached by a process.

SHM_LMINENTS Number of entries in the MI table of a LCT, which means the numberof global pages or self-created dynamic segments that can beattached by a process. Cannot exceed 255.

Page 46: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

46

Parameter Description

SHM_LPAGESZ Size, in 512-byte blocks, of each local page in a global page. Aglobal page is divided into local pages, so SHM_GPAGESZ must be amultiple of SHM_LPAGESZ.

SHM_LPINENTS Number of entries in the PI table of a LCT, which is the numberof processes allowed in a process group. It is set to 10 within thesystem, regardless of the uvconfig setting.

SHM_MAX_SIZE Current kernel setting for maximum size (in bytes) of a sharedmemory segment. This parameter is set at installation. This valuemight need tuning if Data Replication is in use and the sizes ofthe replication buffers are increased. A physical shared memorysegment cannot exceed SHM_MAX_SIZE in size.

SHM_MIN_NATT The minimum number of shared memory segments that should bekept attached to a process.

SHM_NFREES The number of inactive shared memory segments that UniVersekeeps in the system. The number of free shared memory segmentsto keep.

SMISDATA Specifies whether UniVerse should treat a segment mark found indata as a data character (1) or a data terminator (0). This parameteraffects data access in the file subsystem as well as BASIC functionssuch as EXTRACT and REPLACE when working with a dynamicarray that contains one or more segment marks. If you set the valueof this parameter to 0, UniVerse inserts data containing a segmentmark, but truncates at the mark when retrieved.

SPINSLEEP On an HP multiprocessor system, when spinlocks are in use, thisvalue determines the time to sleep between successive attempts tolock a spinlock. The value, expressed in microseconds, should bebetween 50 and 50000. If spinlocks are in use, and the value of thisparameter if 0, UniVerse defaults to a value of 5000. Misuse of thistunable can drastically affect system performance.

SPINTRIES On an HP multiprocessor system, this value determines whetherspin locking is used instead of regular semaphore locking. This valuedetermines the number of attempts to obtain the spinlock beforethe process sleeps. If you want to use spinlocks, choose a valuebetween 5 and 500. A value of 0 switches spinlocks OFF. Misuse ofthis parameter can drastically affect system performance.

SQLNULL You can assign this parameter any NULL value the system wants touse. The default value for SQLNULL is 128, which interferes with theEURO symbol value on Windows platforms. Change this value toanother value if you are using EURO symbols.

Page 47: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The configurable parameters

47

Parameter Description

SSL_OPTIONS Specifies additional protocol options for SSL connections.

Regarding protocol downgrades, valid options are:

▪ TLS_FALLBACK_SCSV: Protocol downgrades are not allowedduring the SSL session handshake. To take effect, this optionmust be supported by the client and the server.

▪ NO_TLS_FALLBACK_SCSV: Protocol downgrades are allowedduring the SSL session handshake.

Invalid options are ignored. If the parameter is not specified, orthe resultant string is empty, TLS_FALLBACK_SCSV is used.

Regarding SSL handshake timeouts, valid options are:

▪ CLI_HANDSHAKE_TIMEOUT: SSL client handshake timeoutswill honor any timeout set for the socket in BASIC. If a timeout of0 is set in BASIC, then the default timeout is set to 5 minutes.

▪ SRV_HANDSHAKE_TIMEOUT: SSL server handshake timeoutswill honor any timeout set for the socket in BASIC. If a timeout of0 is set in BASIC, then the default timeout is set to 5 minutes.

Invalid options are ignored. If the parameter is not specified,or the resultant string is empty, both options are disabled.When enabling these SSL handshake timeout options it isrecommended to specify both options together, rather than oneor the other, unless it is specifically known only one is needed.

Refer to the Security Features guide for additional information.

Page 48: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

48

Parameter Description

SSL_PROTOCOLS UniRPC Security Protocols Configuration. Specifies the UniRPCdaemon's allowed security protocols for secure connections. Theallowed protocols are SSLv3, TLSv1, TLSv1.1, and TLSv1.2.

The valid delimiters are comma (,), and the plus sign (+).

Invalid protocols will be ignored. If the parameter is not specified, orthe resultant string is empty, then SSLv3+TLSv1+TLSv1.1+TLSv1.2will be the default.

Note: The default secure protocols are TLSv1.1 and TLSv1.2. Settingthe minimum value to TLSv1.1 and the maximum value to TLSv1.2allows for the strongest possible security protocol.

UniRPC connections will work with a TLSv1 setting if it is defined inthe SSL_PROTOCOLS parameter in the uvconfig file.

TELNET Security Protocol Configuration. For Windows users,you must update the Current-Version registry in order to use theSSL_OPTIONS and SSL_PROTOCOLS options. The CurrentVersionregistry can be found in the following location:

HKEY_MACHINE/SOFTWARE/Rocket Software/UniVerse/CurrentVersion

UniVerse Telnet connections will work with TLSv1.1 andTLSv1.2 only. For UNIX and Linux platforms, If you require anyother protocol, make the changes to the inetd.conf file(xinetd.conf on Linux platforms).

To enable only the TLSv1 protocol, use the following uvssltelnetexample:

uvssltelnet stream tcp nowait root /disk1/uv121/bin/uvtelnetd uvtelnetd -d3 -P tlsv1

SUSP_IO_WAIT Specifies the number of seconds a UniVerse process attemptinga file update sleeps when UniVerse file I/O has been suspendedthrough the SUSPEND.FILES command. After this time period, theUniVerse process checks the suspension status and either continueswith the file update or sleeps for the time period you specify if file I/O is still suspended. The default value is 60 seconds. Attempting toset this parameter to a value less than 1 results in the value beingset to 1. You should not set this value too low to avoid processescontinually waking, checking suspension status, and then sleepingagain, especially on a system with a large number of users.

SYNC_TIME Specifies the number of seconds that the uvsyncd daemons waitbefore scanning the system buffer for updated pages.

SYNCALOC Forces any I/O operations that allocate new file space to be donesynchronously. This capability was useful based on the disktechnology available at the time it was implemented but has littlebenefit today. Setting this parameter to 1 can have a significantperformance impact on certain I/O intensive operations such asRESIZE. The recommended and default value is 0.

SYSTEM_EURO You can set this value to a system Euro codepoint value. The defaultis 128 on Windows platforms, and 164 on UNIX systems.

Page 49: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The configurable parameters

49

Parameter Description

T30FILE Specifies the number of dynamic files that can be opened. This isused to allocate shared memory concurrency control headers. Thedefault value is 200.

TANDEM_FLAG Specifies whether sessions are allowed to be used by TANDEM. Thedefault value is 1, meaning sessions can be used by TANDEM.

TCA_SIZE The maximum number of entries in the transaction control area(TCA). The TCA is used when more than one replication group isconfigured, and there are cross-group transactions.

The default value is (minimum NUSERS * 64) = 2048000.

If you are using transaction processing, set the value to at least thenumber of users on the system. If you are not using transactionprocessing, this parameter is irrelevant.

TERM_EURO This parameter can be set to a terminal Euro codepoint value. Thedefault is 128 on Windows platforms, and 164 on UNIX systems.

THDR512 Specifies whether DR-type tapes are written with 512- byte labels.The default value is 0.

TIMEACCURACY If the value of TIMEACCURACY is set to 1 (the default), the TIME()function displays time in millisecond/microsecond format,depending on the platform you are using. If the value of thisparameter is set to 0, the TIME() function displays the time in 4decimal format.

TP_COMMIT_LOGGING Specifies whether to use transaction commit logging. The defaultvalue is 0. Valid values are: 0, 1, 2, or 3.

▪ 0 - Default; Transactions are not logged.

▪ 1 - The transaction attempts to write a log record during commit.The transaction itself will continue to commit in spite of anyerrors encountered in writing to the TRANS_COMMIT_LOG file.

▪ 2 - The transaction attempts to write a log record during commit.The entire transaction is aborted if the attempt to write to theTRANS_COMMIT_LOG file fails.

▪ 3 - The function behaves like option 1, except that if theTRANS_COMMIT_LOG file is a UVNet file, the updates to it are inno-wait mode.

TRIGGER_ADMIN Allows triggers to be administered by users who are members of adesignated operating systems group. If one or more groups haveadministration rights, the group name(s) must be specified as acomma-delimited list. For example:

TRIGGER_ADMIN=global1, globaladm

Users who are members of global1 and globaladm are able toamend triggers as long as they have read and write access.

By default, the user who created the trigger has administrator rights.TSTIMEOUT Sets the number of seconds the UniVerse device licensing shell

(uvdls) waits for a connection from a telnet client. The default valueis 60.

TXMEM Specifies the amount of memory allocated for the privatetransaction cache. This is specified in 1K units (1024 bytes). Thedefault value is 32.

Page 50: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

50

Parameter Description

TXNEXTHOLD Determines how the record controlling the next hold entry number istreated when using transaction processing.

▪ 1 - If there is an active transaction, the handling of theNEXT.HOLD record in the D_&HOLD& file is fully compliant withtransaction semantics, and the UniVerse file will hold the lockuntil the transaction is committed or aborted.

▪ 0 - The handling of the NEXT.HOLD record is treated as innontransaction mode, regardless of the current transactionstatus.

TXWMFSYNCMODE Determines how warmstart transactions are synchronized to diskwhile the checkpoint mode is enabled on UNIX platforms. Validvalues are:

▪ 0 - UniVerse uses the UNIX fsync() system call for both the fileheader and data updates.

▪ 1 - UniVerse sets the O_SYNC flag on the UNIX file descriptor forthe file header updates, and uses the UNIX fsync() system callfor data updates.

▪ 2 - UniVerse uses the UNIX fsync() system call for file headerupdates and sets the O_SYNC flag on the UNIX file descriptor fordata updates.

▪ 3 - UniVerse sets the O_SYNC flag on the UNIX file descriptor forboth file header and data updates.

ULIMIT UNIX only. The default ULIMIT set by UniVerse. The default value is128000.

UOEXEC_RETAIN_LOCK Specifies whether record locks set on the server by a UniObjectsapplication remain active after executing a database command.By default, record locks set in a BASIC subroutine on files openedto a file variable in named COMMON will be released after theexecuted command completes. Setting this parameter to 1 allowsthose record locks to remain active when the executed commandcompletes.

USE_FIXED_PORT Not available on Windows. Uses the UniVerse 11.2.x and priormethod of assigning user numbers based on the relative position ofa tty device in the unohist file. First entry in the unohist file isuser 11, second user 12, and so on. The USE_FIXED_PORT value isthe quantity of user numbers that will be reserved for assignmentbased on tty device. For example, USE_FIXED_PORT 5 reserves users11-16 for assignment to the first five tty devices in the unohist file.

This value cannot exceed (NUSERS - 10). Valid values are:

▪ 0 - Do not use fixed ports

▪ positive numbers - Use fixed port numbers.

The first fixed port number starts at 11. The last fixed port is 10 +USE_FIXED_PORT.

Page 51: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Changing configurable parameter values

51

Parameter Description

UVLOGSWITCH The amount of time, in seconds, after a log file becomes currentto have the log daemon force a switch to the next available logfile if the current log file did not become full during this timeinterval. If the value of this parameter is set to 0 (the default), the logdaemon switches to the next available log only when the current logbecomes full.

Note: If the amount of time you specify expires, and no loggingactivity has occurred, the timer is reset for the currently empty log,ensuring that completely empty log files are never marked as full.

UVNET_CONNECT The value of this parameter is either 0 or 1. A value of 1 implies toconnect to the remote machine regardless of EURO data settings. Avalue of 0 implies communication takes place only if EURO settingsmatch on both machines.

UVNET_PASSWORD UNIX/LINUX only. By default, a root user from a client system mustsupply login credentials with the SET.REMOTE.ID commandin order to access files on this system using UVNet. Setting thisparameter to 0 will let a root user from a client system accessfiles on this system using UVNet without a password requirement.Password requirements for non-root users from client systemscan be configured using the !allow_nopassword option inunirpcservices. The default value is 1.

UVNET_USERS The value of this parameter specifies the user limit for UVNet. Youcan specify a value larger than the value specified when UVNet waslicensed. If you specify a value less than the configured user limit,UniVerse defaults to the configured limit. This parameter has noeffect if UVNet has not been configured.

UVSPOOL UNIX only. The name of the directory where the UniVerse printerroutines are located to build print files. This should be a fullyqualified path of at most 112 characters.

UVSYNC Determines if UniVerse uses the UNIX sync( ) call. A nonzero valueallows a sync( ) to be performed if a leading process exits. Data losscan occur if sync( ) is not executed often enough.

UVTEMP Specifies the name of the directory used to contain UniVerse selectlists and other temporary files. This should be a fully qualified pathof 112 characters or less.

UVTSORT The value of this parameter has permanently been set to 0.VDIVDEF Selects the default action of the vector divide operator when the

divisor values are exhausted prematurely. A nonzero value returnsthe dividend. A zero value returns 0. The default value is 1.

WIDE0 Specifies the mask used internally to decide when the differencebetween two numeric values is to be considered 0. The default valueis 0x3dc00000. For more information about the wide zero parameter,see The wide zero parameter in UniVerse, on page 301.

Changing configurable parameter valuesYou can use XAdmin to change configurable parameter values, or you can edit the uvconfig filemanually.

Page 52: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

52

Changes to the uvconfig file must be compiled using the uvregen command. For changes tobecome effective, UniVerse must be stopped then restarted, as described in the following example:

1. Change directories to the main UniVerse account.2. Stop UniVerse by entering uv -admin -stop.3. Enter bin/uvregen.4. Restart UniVerse by entering uv -admin -start.

Changing the value of any of the following parameters changes the size of the shared memorysegment:

LOGBLNUM T30FILELOGBLSZ MAXKEYSIZEMAXKEYSIZE PSEMNUM

Note: Make sure you understand the effect of any changes you make to the default values. A smallchange can have a significant impact on your system. It is impossible to document the impact ofeach of these parameters so that you can predict the effect of a value change. If you are not sureabout how to change the value of any parameter, please consult with a U2 Support Specialist.

Changing a configurable parameter with XAdmin

To edit values for the U2 configurable parameters in XAdmin, use the Configuration Editor.

1. From the Admin Tasks view, double-click Configuration Editor.The Configuration Editor window opens with a list of configurable parameters and their currentsettings, as shown in the following example:

2. Select the parameter you want to edit from the list. A description of the parameter displays underParameter Description, and the Parameter and Value fields are updated with the parametername and value.

Page 53: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Editing the uvconfig file manually

53

3. Enter a new value in the New Value field. To return to the previously saved setting, choose theparameter from the list again.

4. Repeat these steps to change other parameters before you save the new settings.5. Click Save.

A message confirms that your changes have been saved and prompts you to run uvregen andrestart the U2 database.

Important: Before restarting the U2 service, make sure all users have logged out.

6. Click OK to acknowledge the message.

Editing the uvconfig file manually

To see a list of configurable parameter settings, use the CONFIG command at the UniVerse promptwith either the ALL or the DATA option.

To change the value of a configurable parameter, complete the following steps:

1. Make sure all users are logged out of UniVerse.2. Stop all UniVerse processes.3. Change the working directory to the UV account directory (make sure the UV account directory is

in the current path).4. Shut down UniVerse.5. Edit the uvconfig file in the UV account directory.6. Execute the UniVerse program uvregen.7. Start up UniVerse.

The following example shows the beginning of the uvconfig file. You can view the entire file fromthe $UVHOME directory, or read more about the parameters in The configurable parameters, on page30.

################################################################################# UniVerse tunable parameters## Copyright (C) Rocket Software, Inc. 2016.## - All Rights Reserved# This is unpublished proprietary source code of Rocket Software, Inc.# The copyright notice above does not evidence any actual or intended# publication of such source code.################################################################################

# MFILES - Specifies the size of the UniVerse rotating file pool. The value of# MFILES should be set to a value no greater than the kernel's per process# open file limit minus the sum of the maximum number of named pipes opened# by a user application and the 8 files reserved for internal UniVerse use.MFILES 200

# T30FILE - Specifies the number of dynamic files that may be opened. Used to# allocate shared memory concurrency control headers.T30FILE 200

Page 54: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 3: Configurable UniVerse parameters

54

# OPENCHK - Modifies the behavior of operations upon files opened via the BASIC# OPEN statement. When set to zero, files opened with with the BASIC OPEN# statement ignore integrity constraints. If non-zero, those files will# observe the constraints. This tunable does not affect files opened via the# OPENCHECK statement.OPENCHK 1

# WIDE0 - The mask used internally to decide when the difference between two# numeric values is close enough to zero to be called zero. For more# information refer to the 'Wide Zero' appendix in the 'Administering# UniVerse on UNIX/Windows Platforms' guide.WIDE0 3dc00000

# UVSPOOL - The name of the directory where the UniVerse printer routines to# build print files are stored. This should be a fully qualified pathname# of no more than 112 characters.UVSPOOL /usr/spool/uv

...

Page 55: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

55

Chapter 4: AccountsThis section describes the creation of UniVerse accounts, how to transfer accounts, and maintainingUNIX user accounts.

UniVerse accountsThis section describes how to add new UniVerse accounts and how to maintain existing accounts. Itcovers the following topics:

▪ How to create a UniVerse account, and how to carry out additional procedures that make theaccount function properly in either the operating system or the UniVerse environment

▪ How to delete a UniVerse account

▪ How to customize a UniVerse account

When you first install UniVerse, the UV account is created. One of your first tasks after starting up thesystem is to add new UniVerse accounts.

About UniVerse accounts

You always enter UniVerse through a UniVerse account. A UniVerse account includes a directorycontaining the files required to run UniVerse in that directory. An established UniVerse account canalso contain database files and program files.

The VOC file in each UniVerse account defines the account environment, including all the files andcommands that are available to users who are logged on to the account.

For example, a UniVerse account might be defined for a department rather than for an individual. Eachuser of the SALES account might be given his or her own login name at the operating system level butbe assigned the same home directory and share the same UniVerse account.

UniVerse file permissions are managed by the UNIX or Windows file permissions. For informationabout setting file permissions, refer to the documentation that comes with your operating system.

Creating accounts with XAdmin

An account is a container for a collection of related files for a business purpose or activity.

Prerequisites

To create an account, you must have a server definition set up.

About this task

A U2 account is a virtual container used to organize a collection of related files and data for a specificbusiness purpose or activity. For example, a business organization might create a U2 account to tracksales data.

More technically, a U2 account is a UNIX or Windows directory in hashed format that contains avocabulary (VOC) file and other U2 system files that provide the environment in which to run U2tools and applications. An account can be configured to meet the needs of one user, a job function, adepartment, or an entire company.

Page 56: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 4: Accounts

56

A U2 account is associated with a specific U2 server definition. The U2 Resource window displays a listof all UniVerse accounts currently defined in the UV.ACCOUNT file.

Note: You can also create UniVerse accounts by entering uv at an operating system prompt. Ifan account is created this way, the UV.ACCOUNT file is not updated and the account cannot beadministered using the Accounts option.

When you add a new account, UniVerse does the following:

▪ Assigns an account compatibility flavor

▪ Updates the UV.ACCOUNT file

▪ Edits the LOGIN entry in the UniVerse account

Procedure

1. Open XAdmin from the Start → Rocket U2 menu.2. Double-click the name of the server in the U2 Resource view to connect to it.3. From the U2 Resource view, right-click Accounts and select New → Account.

The Create a New U2 Account dialog box displays, as shown in the following example:

4. In the Account Name field, enter a unique name for the account.5. In the Account Path field, enter the full path for the account, or click Browse to select a location.

The Create the account path if it does not exist check box is selected by default to create thedirectory you define if it is not created already.

6. Click Finish.7. Select one of the following flavors from the Account Flavor list.

▪ IDEAL: Choose this flavor if you are a new user. It contains the best features of all the flavors.

Page 57: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Viewing or modifying account details

57

▪ INFORMATION: Choose this flavor for compatibility with Prime INFORMATION.

▪ PIOPEN: Choose this flavor for compatibility with PI/Open.

▪ PICK: Choose this flavor for compatibility with Pick or Advanced Pick.

▪ REALITY: Choose this flavor for compatibility with Microdata REALITY.

▪ IN2: Choose this flavor for compatibility with IN2.

8. Select the Use Default LOGIN check box if you want to use the default LOGIN entry for the newaccount.

9. Click OK.The account is created in the chosen directory, with the ownership and security of the parentdirectory. The UV.ACCOUNT file and the U2 Resource view are updated.

Note: You can choose a directory path of an existing UniVerse account. In this case, the newaccount is added to the UV.ACCOUNT file, but no changes are made to the existing accountfiles in the directory.

Viewing or modifying account details

To view or modify the details of an account, use the Accounts tab from XAdmin

Prerequisites

You must have an account created before you can view the details. For more information, see Creatingaccounts with XAdmin, on page 55.

Procedure

1. From the Admin Tasks view in XAdmin, double-click Accounts.2. From the Accounts tab, select the account that you want to view or update, and click Detail.3. Modify the account settings that you want, except for the account flavor setting and account

path. Click OK to save your changes.

Deleting an account

Delete an account you no longer want for the U2 server.

Prerequisites

To delete an account, you must have an account created, as described in Creating accounts withXAdmin, on page 55.

Procedure

1. Right-click the account you want to delete from the U2 Resource view, then click Delete.2. From the Confirm Account Delete dialog box, select how the account should be deleted by

clicking the appropriate option.For UniVerse:

Page 58: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 4: Accounts

58

▪ Retain Directory: UniVerse removes the account from the UV.ACCOUNT file.

▪ Delete Directory: UniVerse removes the account from the UV.ACCOUNT file and deletes thedirectory, along with all of its contents. If other accounts in the UV.ACCOUNT file use the filesin this directory, you will also be prompted whether you want to delete these accounts.

Click OK.3. Click Yes to remove the account as specified.

Customizing UniVerse accounts

You can customize UniVerse accounts. For example, you can prevent certain users from creating ormodifying accounts from their own UniVerse accounts.

You can also set up alternative account flavors and their associated VOC files. To customize yoursystem in this way, you must modify the NEWACC file and the UV.FLAVOR file.

Using XAdmin, you can specify the account flavor to use, which in turn affects the VOC file and theuser’s access to UniVerse. There are six standard flavors: IDEAL, INFORMATION, PICK, REALITY,PIOPEN, and IN2. These are listed when you create accounts using the Accounts view in XAdmin.

On Windows platforms, you can specify the account directory or UniVerse account to which each userinitially logs on from a telnet session. Use the Network Services option of XAdmin to do this.

UniVerse account control files

XAdmin uses the account control files to check the validity of responses to some of the data entryscreens. These files are updated only when you create or modify an account using XAdmin, so it isimportant to create accounts using XAdmin.

Although these files are used primarily by XAdmin, you can use the LIST and SORT commands tocreate reports. You can update them with ReVise or the UniVerse Editor.

The following sections describe the account control files:

• The UV.ACCOUNT fileThe UV.ACCOUNT file is in the UV account directory. It contains a list of UniVerse accounts andtheir paths.

• The UV.FLAVOR fileThe UV.FLAVOR file is in the UV account. The UV.FLAVOR file dictionary contains X-descriptors that define each flavor.

• The UV.LOGINS file (Windows only)The UV.LOGINS file is in the UV account only on Windows platforms. It contains a list of users andthe UniVerse accounts they log on to when they first connect to UniVerse through a telnet session.

The UV.ACCOUNT fileThe UV.ACCOUNT file is in the UV account directory. It contains a list of UniVerse accounts and theirpaths.

UniVerse automatically updates this file when you create or delete an account using XAdmin. EachUniVerse account has a record in the UV.ACCOUNT file. The record ID is the account name. Eachrecord also contains the following fields, but only the PATH field is updated by UniVerse.

Field name Description

@ID Account name

Page 59: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The UV.FLAVOR file

59

Field name Description

PASSWORD Account’s passwordMAXMINAGEUID User ID numberGID Group ID numberNAME Account owner’s nameOFFICEEXTPHONEPATH Account directory’s pathSHELL UNIX shellPERMISSIONS

Parent topic: UniVerse account control files

The UV.FLAVOR fileThe UV.FLAVOR file is in the UV account. The UV.FLAVOR file dictionary contains X-descriptorsthat define each flavor.

The UV.FLAVOR data file contains records that specify restrictions on creating or updating accounts.This file lets you choose the account flavor for an individual or for a group of users.

Each record in UV.FLAVOR can have one of the three types of record ID:

Record ID Description Example

USER.name name is the login name of auser.

USER.alice

GROUP.name name is the name of a usergroup.

GROUP.users

OTHER A specially defined account. OTHER

Each record has two fields. The second field specifies one of the six different flavors: IDEAL (UniVerse),INFORMATION, PICK, REALITY, PIOPEN, or IN2. The first field specifies one of the following codes:

Code Description

C UniVerse prompts you to choose an account flavor when creating or updating anaccount.

F UniVerse automatically assigns the account flavor designated in field 2.N The user cannot create or update an account.

The following example is of a sample UV.FLAVOR file:

UV.FLAVOR......... Access Code.. Flavor.......GROUP.users F PICKOTHER CGROUP.demo F NEWACC

To prevent users from creating or modifying an account, create an entry for them in the UV.FLAVORfile and set the access code to N.

Page 60: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 4: Accounts

60

To use a custom flavor, create an entry in the UV.FLAVOR file for users who will use the flavor, and setthe access code to F. Enter the custom flavor name in field 2 of the UV.FLAVOR file.

Parent topic: UniVerse account control files

The UV.LOGINS file (Windows only)The UV.LOGINS file is in the UV account only on Windows platforms. It contains a list of users and theUniVerse accounts they log on to when they first connect to UniVerse through a telnet session.

Use the Network Services option of XAdmin to maintain this file.

Note:

If you create UV.LOGINS entries with an uppercase domain name and a lowercase user name,UniVerse will find those entries regardless of the case the user uses when logging on to the system.

If UniVerse is not able to find the entered domain name or username in the UV.LOGINS file, asecond attempt will be made after the domain name is upcased and the username is downcased.Therefore, if UV.LOGINS records are created with an uppercase domain name and a lower caseuser name, UniVerse will be able to locate the UV.LOGINS record regardless of the case input bythe user.

Parent topic: UniVerse account control files

Essential UniVerse files

For users to work in the UniVerse environment, their current working directories must contain anumber of UniVerse files, including the VOC file and its associated file dictionary. In addition, eachUniVerse account is set up in a specified flavor of compatibility, such as IDEAL (UniVerse), PICK, orINFORMATION.

The system administrator does not set up the VOC file and its associated file dictionary. They arecreated when the user logs on to the new UniVerse account for the first time.

If the directory has not been set up as a UniVerse account, the system notifies the user that theaccount has not yet been set up. The user must answer the system prompts to create or update theVOC file.

The following sections describe the essential UniVerse files:

• The VOC fileThe VOC file is created according to the restrictions specified in the UV.FLAVOR file. The masterfiles used as templates for creating VOC files are in the file NEWACC.

• The UV.LOGIN and LOGIN entriesIf the UniVerse command processor is specified as the account’s command interpreter, UniVerseexecutes the UV.LOGIN entry in the VOC file of the UV account when the user logs on to theaccount.

• The UOLOGIN subroutineThe UOLOGIN subroutine can be used for security purposes to control access to UniVerse accountson the server.

The VOC fileThe VOC file is created according to the restrictions specified in the UV.FLAVOR file. The master filesused as templates for creating VOC files are in the file NEWACC.

Page 61: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The UV.LOGIN and LOGIN entries

61

If your VOC is being updated rather than created, replaced records are moved to the file &TEMP& toprevent them from being destroyed. The names of any records that are moved to &TEMP& are listedon your screen.

Note: The VOC file defines the UniVerse account. The contents of the VOC file limits access tocommands and files in a UniVerse account. Users cannot access any files or commands not definedin the VOC file of the account in which they are working.

Parent topic: Essential UniVerse files

The UV.LOGIN and LOGIN entriesIf the UniVerse command processor is specified as the account’s command interpreter, UniVerseexecutes the UV.LOGIN entry in the VOC file of the UV account when the user logs on to the account.

The UV.LOGIN entry can be a paragraph, a proc, a UniVerse BASIC program, or a menu. It is typicallya paragraph containing commands that establish system-wide defaults. After executing UV.LOGIN,UniVerse executes the LOGIN entry in the VOC file of the user’s account.

On UNIX platforms, the default LOGIN entry in the sample directory is a paragraph that looks like thefollowing:

LOGIN001 PA002 PTERM ERASE ON KILL ON WERASE ON RPRNT ON FLUSH ON LNEXT ON SUSP ON_003 INTR ON QUIT ON STOP ON START ON EOF ON BRK OFF_004 ECHO ON ECHO CTRL ON TABS ON CRMODE ON TYPE FAST LFDELAY 0 FFDELAY 2005 UMASK 077

This LOGIN entry uses PTERM to set terminal characteristics, and it uses the UniVerse UMASKcommand to set the default file permission mask. These commands have the same function as theUNIX commands stty and umask.

Many of the functions performed by the LOGIN entry are identical to those performed in the UNIX.profile file. For example, the stty command in .profile determines which keys performerase, kill, interrupt and quit operation on your terminal:

stty erase '^H' kill '^U' intr '^?' quit '^_' -tabs ff0 cr0 nl0

On Windows platforms, the default LOGIN entry in the sample directory is a paragraph that looks likefollowing:

LOGIN001 PA002 PTERM ERASE ON KILL ON WERASE ON RPRNT ON INTR ON_003 ECHO ON ECHO CTRL004 CLR

Parent topic: Essential UniVerse files

The UOLOGIN subroutineThe UOLOGIN subroutine can be used for security purposes to control access to UniVerse accounts onthe server.

UniObjects, UniObjects for .NET, UniObjects for Java, and InterCall can check for the existence of aUOLOGIN BASIC subroutine on the server. The subroutine has all the capabilities available in UniVerseBASIC so the program can be tailored to meet the needs of the specific environment.

Page 62: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 4: Accounts

62

Once the UOLOGIN subroutine is cataloged globally, it will be executed when a client connection isinitiated and the connection will fail if the requirements specified in the subroutine are not met. Areturn value of 0 indicates the requirements have not been met, and a return value of 80011 will besent to the client.

The UOLOGIN subroutine on the server should contain two arguments, as follows:

SUBROUTINE UOLOGIN(RTNVAL, APPNAME)

Arguments

The following table describes the UOLOGIN subroutine arguments:

Argument Description

RTNVAL If RTNVAL is a nonzero value, the connection is allowed. If RTNVAL is 0, theconnection is not allowed and an error message is returned.

APPNAME The name of the client application trying to establish the connection.

Parent topic: Essential UniVerse files

Controlling access to UniVerse (Windows only)

The UV.LOGINS file is used on Windows platforms to define how users connect to UniVerse viatelnet sessions. Use the Network Services option of XAdmin to specify how users should connect toUniVerse.

Controlling access to UniVerse (UNIX only)

You can make UniVerse your default working environment by entering /usr/uv/bin/uv as yourdefault shell in the /etc/passwd file. When you log in and out, you log directly in to and out ofUniVerse.

If, on the other hand, the /etc/passwd file specifies a UNIX shell (for example, /bin/sh), you login to a UNIX shell. You can then invoke the UniVerse environment with the uv command. Even if the /etc/passwd file specifies a UNIX shell, your .profile or .login file can log you directly in to theUniVerse environment. To do that, add the following line to your .profile:

exec uv

The exec command replaces the current shell with the shell you specify, in this case uv. On exitingUniVerse, you also exit the system.

Login shell specified in /etc/passwd

Initialization files You log in… You log out…

/usr/uv/bin/uv LOGIN Directly to UniVerse. To a UNIX login shell./bin/sh .profile To a UNIX Bourne shell. To a UNIX login shell./bin/sh .profile containing

exec uvTo UniVerse. The UNIXlogin is transparent tothe user.

To a UNIX login shell.

/bin/csh .cshrc

.login

To a UNIX C shell. To a UNIX login shell.

/bin/csh .cshrc

.login containinguv command

To UniVerse. The UNIXlogin is transparent tothe user.

To a UNIX C shell.

Page 63: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Customizing a UniVerse account

63

Note: If you interrupt the execution of the .profile or .login file (for example, by pressing theBreak key) before the uv command is executed, you are left in a UNIX shell.

Customizing a UniVerse account

A valid UniVerse account always includes a VOC file and its associated file dictionary. The VOC filedefines all the commands and keywords that can be used, and all the files that can be accessed fromthat account. UniVerse uses master files in the UV account directory to create the VOC files in all newaccounts.

Choosing a UniVerse flavorAny UniVerse account can be one of several standard flavors: IDEAL (UniVerse), IN2, INFORMATION,PICK, PIOPEN, or REALITY.

▪ The PIOPEN flavor is used for compatibility with PI/open.

▪ The INFORMATION flavor is used to maintain an environment compatible with PrimeINFORMATION products.

▪ The IN2, PICK, and REALITY flavors are used for compatibility with the different versions of the Picksystem. These flavors can be chosen by users who are more comfortable with a Pick system andwant UniVerse to behave in the same way.

▪ The IDEAL flavor contains the best of both the Pick and Prime worlds.

New users are encouraged to choose the IDEAL UniVerse flavor.

NEWACC filesThe NEWACC file in the UV account contains the different VOC file templates for each flavor ofUniVerse. These templates are stored as multiple data files of the NEWACC file. Each data file is a fullyconfigured VOC template whose name corresponds to the flavor.

To list the contents of the data file containing the template for IDEAL flavor VOC files, enter either ofthe following commands from the UV account:

>LIST NEWACC

>LIST NEWACC,NEWACC

To list the contents of the NEWACC template for INFORMATION flavor VOC files, enter:

>LIST NEWACC,INFORMATION

The VOC file can reference a particular VOC template as a single data file by using its full path in field 2of the File Definition record. See the File Definition record for NEWACC in the VOC file in any UniVerseaccount other than the UV account. For example, this VOC entry points to the NEWACC template forPICK flavor VOC files:

Windows:

NEWACC001 F File002 C:\U2\uv\NEWACC\PICK003 C:\U2\uv\D_NEWACC

UNIX:

NEWACC001 F File002 /usr/uv/NEWACC/PICK

Page 64: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 4: Accounts

64

003 /usr/uv/D_NEWACC

Customizing NEWACC filesYou can modify the standard NEWACC files to ensure that the VOC files of new accounts contain onlythe records you want.

For example, you can remove records for commands that you do not want users to access, or you canadd records for files that are needed for an application.

You can also create up to 27 additional customized NEWACC files (see UniVerse System Description forinformation about adding data files to a UniVerse file). Each NEWACC file is a template for a new flavorof UniVerse. For each new flavor, you must add an X-descriptor to the dictionary of the UV.FLAVORfile. The record ID of the X-descriptor is the name of the new NEWACC file, and field 2 contains thedescription of the new flavor. This description appears in the list of UniVerse flavors when you createnew accounts. The following steps describe the easiest way to create a customized flavor.

1. Change to the UV account directory and invoke UniVerse.2. Make a copy of one of the standard NEWACC files. Do this by creating a new data file in NEWACC

and copying the contents of the standard NEWACC file to the new data file:

>CREATE.FILE DATA NEWACC,MY.FLAVOR 3 23 4Creating file "NEWACC/MY.FLAVOR" as Type 3, Modulo 23, Separation4.>COPY FROM NEWACC,INFORMATION TO NEWACC,MY.FLAVOR ALL355 records copied.

3. Use the UniVerse Editor or ReVise to add, delete, or change standard VOC entries in your newflavor.

4. Use the UniVerse Editor to add an X-descriptor to the DICT of UV.FLAVOR:

>ED DICT UV.FLAVORRecord name = MY.FLAVORNew record.----: I0001=X0002=My own custom UniVerse flavor0003=Bottom at line 2----: FI"MY.FLAVOR" filed in File "DICT UV.FLAVOR"

Transferring accountsYou can transfer non-UniVerse accounts to UniVerse, and accounts from UNIX to Windows.

Transferring non-UniVerse accounts

You can use XAdmin to help you transfer non-UniVerse accounts or use commands from the operating-system level on UNIX or an MS-DOS window on Windows.

You can also use the Account Conversion menu, displayed by the CONVERT.ACCOUNT command, toconvert the transferred accounts.

Regardless of whether you choose to use XAdmin or UniVerse commands/executables, the transferand conversion of data have the same steps:

Page 65: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Transferring non-UniVerse accounts to UniVerse with XAdmin

65

1. Make an ACCOUNT-SAVE or MAGSAV tape.2. Load the account onto the UniVerse system.3. Convert the account from its original format to UniVerse format.4. Compile the converted UniVerse dictionaries.5. Convert and compile the UniVerse BASIC programs, recataloging them if necessary.

Transferring non-UniVerse accounts to UniVerse with XAdmin

Use the Import option of the Admin Tasks view to transfer Pick and Prime INFORMATION accountsfrom tape.

1. In XAdmin, from the Admin Tasks view, double-click Import.The Import Account window displays, listing all the information required to transfer an account toUniVerse, as shown in the following Windows example:

2.Field Action

Type Select an account type. The option that you choose determines whichimport program is used and what tape positioning is required.

Multiple Saveformat

If required, select this check box. This option is available only if you selectREALITY (Microdata) as the account type.

Tape Device Select the tape device to use.

When you select a tape device, the Input Block Size and Type fields arepopulated with the settings stored in the &DEVICE& file.

Input Block Size If required, enter an alternative block size.

Restore To Choose one of the following destinations for the transferred account:▪ Select an account from the Account list. The account path is entered

in the Path field.

▪ Enter a path in the Path field, or click Browse to search the system fora suitable directory.

Use Type 19 Files If required, select this check box to determine whether the account isrestored using type 19 files or type 1 files. By default, the check box is notselected, and type 1 files are used.

3. Click Import.

Page 66: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 4: Accounts

66

The import begins and the results of the transfer display in the UniVerse Command Outputwindow.

Transferring non-UniVerse accounts using commands/executables

You can manually restore Pick or Prime INFORMATION accounts from tape to a server usingcommands/executables.

About this task

Use this manual method if you require additional import options that are not available in XAdmin. Ifyou are restoring a single-reel ACCOUNT-SAVE or MAGSAV tape, use the following steps.

1. Log on as a UniVerse Administrator.2. Create a new directory to be the parent directory for the account.3. Move to that directory.4. Use one of the following commands/executables:

• acct.restore and magrstacct.restore transfers a Pick system ACCOUNT-SAVE tape to a UniVerse PICK flavor accounton a UNIX or Windows server. magrst transfers a Prime INFORMATION MAGSAV tape to a UniVerseINFORMATION flavor account on a UNIX or Windows server.

• tapeinUse tapein to restore multireel ACCOUNT-SAVE and MAGSAV tapes to a UNIX or Windowsplatform.

• uvmt.exe (Windows only)Use uvmt.exe to restore accounts from a tape created on an IN2 system to a Windows system.

acct.restore and magrstacct.restore transfers a Pick system ACCOUNT-SAVE tape to a UniVerse PICK flavor accounton a UNIX or Windows server. magrst transfers a Prime INFORMATION MAGSAV tape to a UniVerseINFORMATION flavor account on a UNIX or Windows server.

Note: On Windows platforms, acct.restore and magrst are .exe files. On UNIX platforms,acct.restore and magrst are commands.

These commands/executables are in the bin directory of the UV account directory. You must runthese commands from the operating-system level on UNIX or an MS-DOS window on Windows.

Syntax

UNIX:

acct.restore [options]

magrst [options]

Windows:

acct.restore.exe [options]

magrst.exe [options]

Page 67: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

tapein

67

Parameters

Option Description

- Reads input from standard input.-a pathname Reads input from the disk file specified in the path.-m This option is available for acct.restore only. Restores REALITY Microdata

tapes.-n This option is available for acct.restore only. Creates files with a default

separation of 4 (each group buffer holds 2048 bytes). Use this option whenyou are transferring accounts from systems such as ADDS Mentor or PICK 370,where a separation of 1 means 2K bytes instead of 512 bytes.

-s This option is available for acct.restore only. Used with tapein. Sendsthe appropriate signals back to the tapein filter so tapein can prompt forthe next volume of input and exit cleanly after acct.restore or magrstfinishes.

-t uv.device Reads input from a tape device defined in the &DEVICE& file. uv.device is the IDof the entry in the &DEVICE& file.

-19 Creates type 19 files instead of type 1 files.

Example

For example, on Windows:

d:\> magrst.exe -t MT0

If you use acct.restore or magrst without any arguments, MT0 is the default tape device.

If acct.restore is run by tapein, it does not prompt the user when an error condition exists, suchas unrecognized data or a file cannot be opened. It ignores the data or error and continues with therestoration.

If the MAGSAV tape is constructed on a PRIMOS environment of Release 20 or beyond, you mustspecify the -NO -ACL option of the MAGSAV command. This makes tapes that are compatible withRelease 18. At Release 21, you must also specify the -REV19 option to create tape formats compatiblewith Release 19. UniVerse does not support tape formats compatible with Release 20 or later formats.

Parent topic: Transferring non-UniVerse accounts using commands/executables

tapeinUse tapein to restore multireel ACCOUNT-SAVE and MAGSAV tapes to a UNIX or Windows platform.

Note: On Windows platforms, tapein is a .exe file. On UNIX platforms, tapein is a command.

tapein takes data from a tape device and pipes the data to acct.restore or magrst. Thisprogram handles end-of-media on most devices, eliminating many of the problems of multivolumetape handling. tapein prompts for the next volume of input and performs the necessary cleanupwhen the restoration procedures finish.

It is not necessary to use tapein for diskettes.

This command/executable must be run from the operating-system level on UNIX or an MS-DOSwindow on Windows.

Page 68: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 4: Accounts

68

Syntax

UNIX:

tapein -prestorefilter -ffilename [-bblocksize] [-t] [-c] [-l] [-m] [-n][-u] [-i] [-a] [-r] [-norew]

Windows:

tapein.exe -prestorefilter -ffilename [-bblocksize] [-t] [-c] [-l] [-m][-n][-u] [-i] [-a] [-r] [-norew]

Do not separate variables from the option codes by a space.

Parameters

The following table describes each parameter of the syntax.

Parameter Description

-prestore.filter The full path for either acct.restore or magrst.-ffilename The input file name. This is the path of the tape device. For example, \\.

\ tape0.-bblocksize The input block size. For 1/2-inch tape input, blocksize should be larger

than the largest physical block on tape. For other devices the most likelyvalue would be 512 bytes. The default is 8192, which should be correct formost 1/2-inch tapes.

-t Specifies that magrst and acct.restore should create type 19 filesinstead of type 1 files. (See UniVerse System Description for informationabout type 1 and type 19 files.)

-c Specifies the use of cartridge tape format.-l Activates logging to the tapein.log file.-m Specifies Microdata REALITY format.-n Sets the separation as a factor of 2048.-u Specifies ultimate cartridge format.-i Specifies an IN2 type tape.-a Specifies that the input is an ASCII file (not a tape).-r Verifies the reel number.-norew Specifies not to rewind the tape after the restoration is complete.

Example

For example, on UNIX:

> tapein -pd:/uv/uv/bin/magrst.exe -f//./tape0 -l

Parent topic: Transferring non-UniVerse accounts using commands/executables

uvmt.exe (Windows only)Use uvmt.exe to restore accounts from a tape created on an IN2 system to a Windows system.

The uvmt executable is in the bin directory of the UV account directory. You must run this executablefrom an MS-DOS window.

Page 69: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Restoring IN8000 tapes (Windows only)

69

Syntax

uvmt.exe -ddevicename [-bblocksize] [-c] [-t] {command}

Do not separate variables from the option codes by a space.

Parameters

The following table describes each parameter of the syntax.

Parameter Description

-ddevicename Reads input from the tape device. For example: \\.\tape0.-bblocksize The input block size. For 1/2-inch tape input, blocksize should be larger

than the largest physical block on tape. For other devices the most likelyvalue is 512 bytes. The default is 512, which should be correct for most 1/2-inch tapes.

-c Specifies that the device is a cartridge tape device. This is the defaultsetting.

-t Specifies that the device is a magnetic tape device.

The following table describes the command options.

Command Description

rew Rewinds the tape device.bskip Skips a tape block.fskip Skips a tape file (EOF skip).bread Reads a block from tape and writes it to standard out.fread Reads a file from tape and writes it to standard out.

Parent topic: Transferring non-UniVerse accounts using commands/executables

Restoring IN8000 tapes (Windows only)To restore tapes created on an IN8000 machine (in SMA format):

1. Rewind the tape using the following command:uvmt -d\\.\tape0 -b512 -c rew

2. Skip the first two files on tape using these commands:uvmt -d\\.\tape0 -b512 -c fskip

uvmt -d\\.\tape0 -b512 -c fskip

3. Run the restoration process using tapein.exe:tapein.exe -p$UVHOME\bin\acct.restore.exe -f\\.\tape0-b512 -i -c -r

4. If the tape contains multiple accounts, the -norew option should be included in the tapein.execommand line. This stops the tape from rewinding at the end of the first account restoration.

For example, for a tape with two accounts:

1. Restore the first account using these commands:

uvmt -d\\.\tape0 -b512 -c rew uvmt -d\\.\tape0 -b512 -c fskip uvmt -d\\.\tape0 -b512 -c fskip tapein.exe -p$UVHOME\bin\acct.restore.exe -f\\.\tape0 -b512 -i -c -r -norew

Page 70: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 4: Accounts

70

2. Restore the second account using these commands:

uvmt -d\\.\tape0 -b512 -c fskip tapein.exe -p$UVHOME\bin\acct.restore.exe -f\\.\tape0 -b512 -i -c -r

Restoring IN5000 tapes (Windows only)To restore tapes created on an IN5000 machine:

1. Rewind the tape using the following command:uvmt -d\\.\tape0 -b512 -c rew

2. Skip the header files by using these commands:uvmt -d\\.\tape0 -b512 -c fskip

uvmt -d\\.\tape0 -b512 -c fskip

3. Run the restoration process using INfilter.exe. This executable is in the bin directory of theUV account.This filters data from an IN5000 tape by removing the header from each block before it is passedto acct.restore.exe. The pipe symbol, |, pipes the data between each program.

uvmt -d\\.\tape0 -b512 -c fread | INfilter.exe |acct.restore.exe -i -

For example, for a tape with two accounts:

1. Restore the first account using these commands:

uvmt -d\\.\tape0 -b512 -c rew uvmt -d\\.\tape0 -b512 -c fskip uvmt -d\\.\tape0 -b512 -c fskip uvmt -d\\.\tape0 -b512 -c fread | INfilter.exe | acct.restore.exe -i -

2. Restore the second account using these commands:

uvmt -d\\.\tape0 -b512 -c fskip uvmt -d\\.\tape0 -b512 -c fread | INfilter.exe | acct.restore.exe -i -

Transferring UniVerse accounts from UNIX to Windows platforms

You can transfer accounts using the uvbackup and uvrestore commands. This can be done usinga tape device or with the FTP utility.

Note: The uvbackup and uvrestore commands must use the relative path in the syntax for therestoration of the accounts to work when restoring them onto a Windows system.

1. Creating the backup imageYou can use the uvbackup utility to create the backup image in a file or directly onto a tape.

2. Transferring the backup imageUse FTP or use the tape to transfer the backup image.

3. Restoring the backup imageUse the uvrestore command to restore the backup.

Creating the backup image

You can use the uvbackup utility to create the backup image in a file or directly onto a tape.

Page 71: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Transferring the backup image

71

Before you create the backup image you should change to the directory containing the file or directorythat you want to transfer. For example, if you have the account, /usr/account/my_account,change to the directory /usr/account.

Use the UNIX find utility in the command line.

To back up the account my_account to a file, use the following command:

# find my_account -print | uvbackup -f -v - >backupfile

In this example the output is sent to a file called backupfile.

To back up the account my_account to tape, use the following command:

# find my_account -print | uvbackup -f -v - -t MT0

In this example the output is sent to a valid UniVerse tape device defined in the &DEVICE& file.

Next topic: Transferring the backup imageParent topic: Transferring UniVerse accounts from UNIX to Windows platforms

Transferring the backup image

Use FTP or use the tape to transfer the backup image.

If you save the backup image to a disk file, use FTP to transfer the file to the target machine. Since thedisk file contains binary data, it is important to specify binary in your FTP utility before the transfer toensure the data is not corrupted.

If you save the backup image to tape, put the tape in the tape drive of the target machine.

Next topic: Restoring the backup imagePrevious topic: Creating the backup imageParent topic: Transferring UniVerse accounts from UNIX to Windows platforms

Restoring the backup image

Use the uvrestore command to restore the backup.

Change to the directory where the account will be restored.

To restore an account backed up to a disk file, use the following command:

uvrestore -v backupfile

backupfile is the name of the disk file.

To restore a backup made to a tape device, use the following command:

uvrestore -v -t device

device is the name of a UniVerse tape device in the &DEVICE& file on the target system.

After the account is restored, it is a good idea to log on to the account and run the UPDATE.ACCOUNTcommand. This ensures that all VOC entries are updated. You should also recompile, and, if necessary,recatalog all UniVerse BASIC programs.

If the account contains applications that use absolute paths, they may not run correctly on Windowsplatforms, as these applications may be in different places. You may need to modify and recompile allsuch programs.

If the account relies on cataloged routines that are not part of the account, they may not be found onthe target machine. You must transfer these separately, recompiling, and installing them in the correctlocation.

Page 72: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 4: Accounts

72

If the account relies on any database files outside the directory where the account resides, they arenot found on the target system. These must be transferred separately and installed in the correctlocation.

Previous topic: Transferring the backup imageParent topic: Transferring UniVerse accounts from UNIX to Windows platforms

File naming conventionsUniVerse reserves certain characters for its own use at the operating system level to allow usersto type file names or record IDs in type 1 or type 19 files that would otherwise be rejected by theoperating system. Normally it maps these characters to a replacement sequence. However, the list ofreserved characters is different on UNIX and Windows platforms.

On UNIX systems:

This character... Maps to...

/ ?\? ??empty file name ?0. (leading period) ?.

On Windows platforms:

This character... Maps to...

/ %S? %Qempty file name %" %D% %%* %A: %C< %L|(vertical bar) %V> %G\ %B↑ (up-arrow) ↑↑ (up-arrow)ASCII 1 through ASCII 26 ↑A through ↑ZASCII 27 through ASCII 31 ↑1 through ↑5

This can create problems when you transfer files from UNIX to a Windows platform if any of the filenames or record IDs in type 1 or type 19 files contain mapped characters. For example, the UNIX filename PERCENT% is PERCENT%% on Windows platforms.

Adding and maintaining UNIX user accounts (UNIX only)This section describes how to add new user accounts and how to maintain existing accounts on UNIXsystems. It covers the following topics:

Page 73: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

General considerations

73

▪ Issues to consider when creating UniVerse and UNIX accounts

▪ How to create new user groups and user login accounts, and how to modify existing user accounts

General considerations

When you first install UniVerse, the UV account is created. You use the UV account for both UNIX andUniVerse system administration. Probably the first task you perform after starting up the system isto add new user accounts. Before discussing the details of how to add new user accounts, it is worthconsidering a few general issues.

UniVerse users can work in either of two environments, the UNIX programming environment or theUniVerse database management environment. The difference between the two environments hassome implications for how you assign user accounts, particularly if you plan to implement a protectionscheme in which all files and commands are not available to all users.

User accounts differ from UniVerse accounts

A UNIX user account and a UniVerse account are not identical.

UNIX user accounts are actually more like personal working environments that stay with users nomatter what else they may be doing or where they may be working on the system. A user accountis defined by an entry in the /etc/passwd file that sets the user’s login name and password anddefines the user’s home directory. Once UNIX users log on to the system, they have access to alldirectories and files on the system, except those protected by file permissions.

UniVerse accounts, on the other hand, are more self-contained. The user’s working environment inUniVerse is determined primarily by the UniVerse account directory into which the user is currentlylogged. It is not determined, as in UNIX, by the user’s login account. When users log on to a UniVerseaccount, they generally remain in that account and have access only to commands and files that aredefined as available in that account. To access other commands and files, the user may need to log tothe account containing the command or files, leaving the UniVerse account in which they have beenworking.

In the UNIX environment, each user is generally given a personal user account, which includes a homedirectory under which the user can create his or her own hierarchical directory tree of private files.Access to other parts of the system for UNIX users is easy. They can change their current workingdirectories without changing other aspects of their account environment. They can access files andcommands in other accounts simply by entering the full path that identifies the proper location in thefile system’s complete directory tree.

In the UniVerse environment, the account directory a user is logged on to and the user’s workingenvironment are more or less identical. The VOC file in each UniVerse account defines the accountenvironment, including all the files and all the commands that are available to the user. Files in otherUniVerse accounts are much less available than they are in the UNIX environment, although files inother accounts can be referenced in the VOC file. Generally, to use files in another account, you mustlog to that account.

Setting up user environments

If your site plans to make both environments available to users, it is probably best to create a UNIXlogin account for each user.

However, if you plan to have users working primarily in the UniVerse environment, and you areconcerned about limiting access to the data in that UniVerse account to members of a selected group,you may want to create group UniVerse accounts (such as for members of a department).

Page 74: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 4: Accounts

74

All users of a particular UniVerse BASIC application can share a UniVerse account, since they all needaccess to the same commands, data files, and file dictionaries. For example, a UniVerse account mightbe defined for Sales rather than for an individual user.

Implement a group user account by giving each user his or her own login name at the UNIX level, butassign the same home directory (and therefore the same UniVerse account) to all users in the group.

Maintaining user groups

All UNIX users must be assigned to at least one user group. User groups are used for setting file accesspermissions. You define user groups on the system by giving each user group a name and an IDnumber.

When you add new users to the system, you give them a group ID number as well as a user ID number.For information about adding, changing, and deleting user groups, see Maintaining users and usergroups, on page 236.

Maintaining user accounts

To gain access to UniVerse, each UNIX user must have a unique login name that identifies him or herto the system. Users may also be required to enter a password as a security precaution to preventunauthorized access to the system.

In addition to the required login name (and an optional password), each user must also have thefollowing:

▪ Unique user ID number

▪ Group ID number

▪ Login shell

▪ Home directory

You provide this information when adding a new user to the system. You can use the UniVerse SystemAdministration menus to add, change, or delete UNIX users. For details, see Adding, changing, anddeleting individual users, on page 237.

Page 75: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

75

Chapter 5: UniVerse and memoryThis chapter describes how UniVerse interacts with the operating system kernel to configure, attach,and release shared memory.

Shared memory on Windows or UNIX platformsShared memory is a region of memory that one or more processes can access. Shared memory resideson a UNIX or Windows system outside the address space of any process. It is partitioned into segmentsdepending on the configuration of the system. As a process requires memory, the process attaches asegment to its own address space. Processes use UNIX system or Windows system-level calls to create,attach, and release shared memory segments.

UNIX platforms only. UNIX kernels define certain limits, such as the maximum and minimum sizeof a shared memory segment and the maximum number of shared memory segments the systemsupports. The names of these kernel parameters vary from system to system. The following table listskernel parameters that are related to shared memory on an HP-UX system.

UNIX Parameter Description

shmmax The size, in bytes, of the largest shared memory segment the systemsupports.

shmmni The maximum number of shared memory segments the system supports.shmseg The maximum number of shared memory segments the system can assign to

one process.

Note: Kernel configurations vary among UNIX versions. In some UNIX versions (AIX for example),all resources are allocated dynamically, and the system administrator has limited ability to affectthe configuration. Some UNIX versions also have fixed limits on some parameters. Other UNIXversions allow the system administrator to change parameter values, but procedures vary fromsystem to system. Refer to your host operating system documentation for detailed informationabout your UNIX kernel.

Note: You can distinguish between UNIX kernel parameter names and UniVerse configurationparameter names in this manual. UNIX kernel parameter names are in lowercase (for instance,shmmax) and UniVerse parameters are in uppercase (for instance, SHM_MAX_SIZE).

UniVerse and shared memoryThe database interacts with shared memory by using UNIX system or Windows system-level calls,database daemons (UNIX) or services (Windows), and database configuration parameters (within thelimits that are imposed by the host system) to build its own structures in shared memory.

The database, like UNIX, defines shared memory segments that can be attached by databaseprocesses. The sbcs daemon or service creates shared memory structures for storing active globallycataloged UniVerse BASIC programs.

The uvsmm daemon or service creates shared memory structures for internal tables that are requiredby database processes. The database processes request memory for:

▪ Buffering UniVerse BASIC variables

Page 76: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 5: UniVerse and memory

76

▪ Storing intermediate results

▪ Storing a current modulo table for dynamic files

Note: The Recoverable File System (RFS) uses a specially allocated region of memory that iscalled the system buffer. If you are using RFS, refer to Administering the Recoverable File Systemon Windows and UNIX for information about the system buffer.

Shared memory configuration error messages

The error messages covered in this section are the messages that you might encounter in UniVerse ifthe configuration parameters in UniVerse and UNIX are not high enough for your user load or memoryrequirements.

"No more LCTs"

Each UniVerse process needs one LCT slot. The number of LCTs available is defined by the UniVerseconfigurable NUSERS.

If the available LCTs are exceeded, when a UniVerse process attempts to start, it will encounter amessage similar to:

‘No more LCTs Process XXXX Exit at ...’

The message appears in the uvsmm.errlog file starting at version 11.1.9 in Windows and version11.2.0 on UNIX.

To resolve the issue, consider increasing the UniVerse configuration parameter NUSERS and also verifythat semmnu in the UNIX kernel is large enough to accommodate the change.

"No more GCTs"

If the available GCTs are exceeded, a UniVerse process will encounter a message similar to:-

‘No more GCTs Process XXXX Exit at …’

The message will also be logged to the uvsmm.errlog file.

This messages means that you have already used as many segments as your system currentlysupports. To resolve the issue, consider increasing shmmni in the UNIX kernel or increasing theUniVerse configuration parameter SHM_GNTBLS.

"uvsmm can’t get the first GSM errno = 22"

uvsmm cannot acquire the first shared memory segment to build the necessary control tables becauseshmmax is not large enough. Increase the kernel parameter shmmax.

The message will also be logged to the uvsmm.errlog file.

"No more shared memory IDs"

You are out of shared memory IDs. Adjust the UNIX kernel parameter shmmni to increase the limit.

Page 77: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Uncommon error messages

77

The message will also be logged to the uvsmm.errlog file.

Uncommon error messages

The following error messages might occur in UniVerse, but they are extremely unlikely to occur.

"No more entries in CI table in LCT-xxx"The CI table in the specified LCT is full. A process has used its limit of local sections. A local sectionis a local page or several contiguous local pages. Consider increasing the UniVerse configurationparameter SHM_LCINENTS.

The message will also be logged to the uvsmm.errlog file.

"No more entries in MI table in LCT-xxx"The MI table in the specified LCT is full. A process has used its limit of global pages. Considerincreasing the size of a global page (SHM_GPAGESZ) or the number of global pages per process(SHM_LMINENTS).

The message will also be logged to the uvsmm.errlog file.

"No more entries in PI table in LCT-xxx"The PI table in the specified LCT is full. Your application has too many forked processes. Yourapplication might not be structured correctly. Consider increasing the UniVerse configurationparameter SHM_LPINENTS.

The message will also be logged to the uvsmm.errlog file.

uvsmm and shared memory

The uvsmm daemon or service creates shared memory segments as needed. The size andcharacteristics of segments uvsmm creates are determined by the database configuration parameters.

Whenever the database is started, the database reads the .uvconfig file and stores these values inshared memory. Remember to run the uvregen command in the UniVerse home directory to transferthe settings from uvconfig to .uvconfig. uvsmm subdivides each of its segments into globalpages, and subdivides each global page into local pages.

uvsmm also creates and maintains internal tables that track the use of the structures it creates. Theseinternal tables, which are stored in a shared memory structure that is called CTL, allow uvsmm toprotect shared memory pages against accidental overwriting, and optimize the efficiency of memoryuse by releasing unneeded shared memory pages back to the UNIX or Windows system.

Note: If you use the -w option for uvsmm, UniVerse runs at write-through without logging mode.However, all other uvconfig parameters are honored.

Control table list (CTL)

When you start the database, uvsmm creates one shared memory segment for the database CTL. TheCTL remains in memory when the database is running, and is returned to the operating system whenyou run the uv -admin -stop command.

CTL is subdivided into three regions, as shown in the following example.

Page 78: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 5: UniVerse and memory

78

The following table describes the structures in the CTL.

CTL structure Description

GI Segment header; also called general information table.GCTs (global control tables) Each GCT records the use of global pages in a shared memory

segment. The database determines the number of GCTs in the CTLby the configuration parameter SHM_GNTBLS. SHM_GNTBLS mustnot exceed the kernel parameter shmmni.

LCTs (local control tables) Each LCT records the shared memory activity of a database processgroup. The database determines the number of LCTs in the CTLby the configuration parameter NUSERS. Each LCT comprises foursubtables: PI, CT, MI, and CI. A process group is related to a processgroup leader, which can be a uv or SQL session, or a user that isrunning the database system-level commands from the operating-system level on UNIX or an MS-DOS window on Windows.

PI (process information) table Each PI table registers all processes within a process group.CT (counter table) Each CT records information about the behavior of the process

group.MI (memory information) table Each MI table records all global pages or self-created shared

memory segments that are used by the process group.CI (control information) table Each CI table records all blocks that are allocated from shared

memory for temporary buffers.

uvsmm creates the CTL by using a series of configuration parameters. The following table lists theparameters uvsmm uses to compute the size of CTL.

Page 79: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Creating and assigning memory structures

79

Configuration parameter Description

SHM_GNTBLS The number of GCTs in the CTL, which is also the maximum numberof shared memory segments that the database can attach at onetime.

NUSERS The number of LCTs in the CTL, which is also the maximum numberof database process groups that can run at the same time. This isnot the same as the number of licenses. If using device licensing, therecommended value is:

"(# of licenses * avg. # of connections per device) + # of phantoms"SHM_GNPAGES The number of global pages in a shared memory segment.SHM_LPINENTS The number of entries in the PI table of each LCT, which is also the

number of processes that can be included in a database processgroup.

SHM_LCINENTS The number of entries available in the CI table of each LCT; this isthe maximum number of local memory segments that can be usedby a process group at one time. A local segment is made up of oneor more contiguous local pages. This value must be greater than orequal to SHM_LMINENTS. It cannot exceed 255.

SHM_LMINENTS The number of entries available in the MI table of each LCT; thisis the maximum number of global pages or self-created memorysegments a process group can use at one time.

The size of the CTL is determined by totaling the size of the various memory components. Theseinclude the GI tables, GCTs, LCTS, locally locked hash tables, dynamic file tables, OS file system tables,GLM tables, and account-based licensed tables.

The formula for calculating the size of each these components varies slightly on each platform andversion and will be affected by additional components of the database, such as the Recoverable FileSystem (RFS) and Data Replication.

Note: The size of the shared memory segment that is reserved for CTL does not need to matchthe size of the segments uvsmm manages. All the segments uvsmm manages are the same size(computed by multiplying the number of global pages per segment by the size of a global page by512), but they are not necessarily the same size as CTL.

Creating and assigning memory structures

When a database process requests memory, uvsmm assigns one or more global pages, as requested,and updates the GCT (or GCTs, if global pages are assigned from more than one shared memorysegment). uvsmm also updates the information in the requesting processes’ LCT. When the requestingprocess has finished using the assigned memory, the process sends a message to uvsmm, whichreleases the global page or pages and updates the GCTs and LCT.

The following figure illustrates uvsmm’s shared memory structures.

Page 80: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 5: UniVerse and memory

80

The database determines the size and number of local pages per global page, and the size andnumber of global pages per segment, by configuration parameters. The following table lists theseparameters and some of the relationships between them.

Parameter Description

SHM_LPAGESZ The size (in 512-byte blocks) of a single local page of sharedmemory.

SHM_GPAGESZ The size (in 512-byte blocks) of a global page of shared memory.SHM_GPAGESZ must be an integral multiple of SHM_LPAGESZ.Divide SHM_GPAGESZ by SHM_LPAGESZ to obtain the number oflocal pages in a global page.

SHM_GNPAGES The number of global pages in a shared memory segment. Computethe size, in bytes, of a shared memory segment by multiplying thesize of a single global page (512*SHM_GPAGESZ) by the numberof global pages per segment (SHM_GNPAGES). This total cannotexceed the maximum segment size that is defined by your Windowsoperating system or in your UNIX kernel.

uvsmm reserves some memory for requests and releases unused memory to the operating system. Thefollowing table describes the database configuration parameters that uvsmm uses to determine howmuch memory to reserve and how much to release.

Parameter Description

SHM_FREEPCT Percentage of global pages in a shared memory segment that shouldbe kept free. If the percentage of free pages in a segment dropsbelow this value, uvsmm creates a new segment to handle requests.

Page 81: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Displaying parameter settings

81

Parameter Description

SHM_NFREES Number of free shared memory segments that should be kept for thedatabase. If the number of free segments is larger than this value,uvsmm releases the additional segments back to the operatingsystem. If the number drops below this value, uvsmm createsanother segment. This parameter is usually set to one.

Displaying parameter settings

Use the UniVerse system-level command uvsms -h to display the current settings for configurationparameters that are related to shared memory.

The following screens show the output for this command for a system with a 32-user license.

UNIX example:

# bin/uvsms -hSystem Start Time: (1472749017)Thu Sep 1 12:56:57 2016

Shmid of CTL: 22021497-------------------------------- IDs ---------------------------------smm_pid smm_trace PtoM_msgqid MtoP_msgqid ct_semid (values)66191410 0 55574532 55574531 55574550 (1,1,1)

-------------------- GENERAL INFO ---------------------SHM_GNTBLS = 40 (max 40 global segments / system)SHM_GNPAGES = 64 (64 global pages / global segment)SHM_GPAGESZ = 256 (128K bytes / global page)

NUSERS = 256 (max 256 process groups / system)SHM_LPINENTS = 10 (max 10 processes / group)SHM_LMINENTS = 20 (max 20 global pages / group)SHM_LCINENTS = 120 (max 120 control entries / group)SHM_LPAGESZ = 8 (4K bytes / local page)

SHM_FREEPCT = 25SHM_NFREES = 1

rm_pid = -1rm_msqid = -1rm_shmid = -1

#

Windows example:

C:\U2\UV>bin\uvsms -h 4288System Start Time: (1472505203)Mon Aug 29 15:13:23 2016

Shmid of CTL: -1-------------------------------- IDs ---------------------------------smm_pid smm_trace PtoM_msgqid MtoP_msgqid ct_semid (values)4240 0 0 1 -2084569088(1,1,1)

-------------------- GENERAL INFO ---------------------SHM_GNTBLS = 40 (max 40 global segments / system)SHM_GNPAGES = 64 (64 global pages / global segment)SHM_GPAGESZ = 256 (128K bytes / global page)

NUSERS = 256 (max 256 process groups / system)SHM_LPINENTS = 10 (max 10 processes / group)SHM_LMINENTS = 20 (max 20 global pages / group)SHM_LCINENTS = 120 (max 120 control entries / group)

Page 82: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 5: UniVerse and memory

82

SHM_LPAGESZ = 8 (4K bytes / local page)

SHM_FREEPCT = 25SHM_NFREES = 1

rm_pid = -1rm_msqid = -1rm_shmid = -1

Self-created segments

A database process can attach a segment of shared memory larger than a standard global page. If avariable is larger than the size of a global page, uvsmm creates a special segment in shared memory.These “self-created” segments, also called “indirect” segments, are attached to the requesting uvprocess. In UniVerse, these segments may only appear when using the Data Replication feature.

uvsmm creates a segment large enough to hold the variable. uvsmm determines the maximum size bythe UNIX kernel parameter shmmax. The self-created segment is counted as a global page used by thedatabase process that created the segment.

Warning: Creating these segments of memory is not an efficient resource use, and might resultin poor performance or in thrashing. Use the system-level uvlstt command or the uvipcstatcommand to determine if your application is using self-created segments on a regular basis. If so,analyze the sizes of variables the application uses. Consider increasing the value of SHM_GPAGESZ(the size of a global page) to handle the variables. Also, consider modifying the application to readarrays by element rather than as a single variable.

UniVerse and the UNIX kernel (UNIX only)

When optimizing configuration parameters for shared memory, certain changes might impactparameters in the UNIX kernel. Before you implement configuration changes, you should explore theimpact of these changes on your kernel parameters, and determine if the kernel parameters should bechanged.

The following table describes relationships between UNIX kernel parameters and the database.

UNIX kernel Relationship to the database

Maximum size of shared memorysegment (shmmax)

Must be larger than CTL, and larger than a shared memorysegment created by uvsmm. If this kernel parameter istoo low, the database might not start. If you change theconfiguration parameters that control the size of memorystructures, you might need to adjust this kernel parameter.

Maximum number of shared memorysegments (shmmni)

Must be greater than SHM_GNTBLS, the number of GCTs inthe control table. This parameter should be set high enoughto accommodate all the GCTs, plus one segment for CTL.For UniVerse 11.1.x and 11.2.x, this will also include thevalue for NUSERS. Each process at these versions create aprinter memory segment. At UniVerse 11.3.x, these printermemory segments are included in the main UniVersememory segment.

Page 83: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

UniVerse and the UNIX kernel (UNIX only)

83

UNIX kernel Relationship to the database

Maximum number of shared memorysegments per process (shmseg)

Must be greater than SHM_LMINENTS, the number of entriesavailable in the MI table for each LCT, which is the numberof global pages that can be attached to a process.

Page 84: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

84

Chapter 6: UNIX system security (UNIX only)On UNIX systems, you maintain system security using the Accounts option of XAdmin, and set UNIX filepermissions with the umask and chmod commands.

Security overviewSecurity on the UNIX operating system is configurable by installation and by user. Basic file protectionis provided by mode information associated with each file when it is created. This mode informationspecifies permission to read, write, or execute the file. Permission is specified independently for theowner of the file, for members of the owner’s group, and for all other users.

The user password and the file permission mask in the user’s .profile file, .login file, or theUniVerse account’s LOGIN entry are the chief mechanisms by which security is implemented.

In addition to the standard UNIX security mechanisms, security can be added to a UniVerse account.This includes editing the VOC file, restricting access to it, and controlling users’ access to specificcommands.

UniVerse SQL tables have their own security mechanism. UniVerse SQL security is described inUniVerse SQL Administration for DBAs.

User permissions and file permissions

It is important to distinguish between permissions that are set for a user and permissions that areset for a UniVerse account. When you use XAdmin change permissions on files in a UniVerse account,you actually change the permissions on the directory containing the UniVerse account and thepermissions on all the files and subdirectories located in that directory.

File permissions on a user’s files and directories are set when you add the user to the system. Theyare also determined when a UniVerse account is created. Default file permissions are set by theumask specification in a user’s .profile file or in a UniVerse account’s LOGIN entry. The umaskspecification sets permissions for all files and directories subsequently created by that user.

Users can set or change their own umask specification by editing the .profile file in their homedirectory. They can use the UMASK command in UniVerse. You can set or change file permissions onexisting files and directories from a UNIX shell using the chmod(1) command.

Users can set or change the passwords for their own login accounts with either the UNIX commandpasswd(1) or the UniVerse command PASSWD.

Note: The root and uvadm accounts should be assigned passwords. The root password isimportant because root has essentially unlimited access to all system resources. An untrained userlogged on as root can do a great deal of damage.

File permission modesUniVerse file permissions are controlled by UNIX file permissions. Refer to your UNIX documentationfor descriptions of UNIX file permissions.

Specifying file permissions for UniVerse account files does two things:

Page 85: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Using the umask command

85

▪ It sets the permissions for all files in the directory containing the UniVerse account. It also sets thesame permissions for all subdirectories (and their dependencies) in the account’s directory.

▪ It sets the umask for the owner of the UniVerse account so that all files subsequently created inthat account are given the permissions assigned to the owner of the account.

You usually set file permissions for a UniVerse account when you create it. You can also use XAdmin tochange file permissions on an existing account.

Do not change permissions on the files in the UV account directory.

Using the umask command

Permission to access files created by a user is set by the file creation mask umask, specified in theuser’s .profile file or in a UniVerse account’s LOGIN entry.

The UniVerse UMASK command performs the same function as the UNIX umask command.

The default umask is set to 022 (octal) so that only the owner can write to the file but all users canread it.

Protecting user accounts with passwordsThe file permission modes can easily be circumvented if there is no mechanism to prevent oneuser from logging on under another user’s name. UNIX uses a password mechanism to preventunauthorized users from logging on to the system or to prevent one user from logging on to anotheruser’s account and gaining access to protected files. You can create or modify a password with eitherthe UNIX passwd command or the UniVerse PASSWD command, which are described in the nextsections.

Assigning a password

You can assign a new password when you create the account, or you can let the user select apassword. In either case the following description outlines the password assignment procedure.

–--------------------------Add a User--------------------- File Action Help–--------------------------------------------------------- Logname User ID (UID) Real Name GID/Group name Login Shell Home Directory Add Password (Y/N) No---------------------Help Region--------------------------Press <F10> to activate the Menu Bar, <ESC> to Abort, UpArrow to go up a Field, Down arrow to go down a Field,and <F1> for longer help about each prompt.Enter the login name for the user you are creating.–---------------------------------------------------------

You can assign passwords from either a UNIX shell or a UniVerse account.

Page 86: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 6: UNIX system security (UNIX only)

86

Making a nonlogin account

To make an account that no one can log on to, you must be logged on as root. Use an editor to replacethe current password encryption in the password file with a string to which no password encrypts. Themost common string is an asterisk (*) or a string containing blanks such as **NO LOGIN**.

Using groups effectivelyPasswords are a basic mechanism for restricting access to the system itself. File permission modeslet you to define restrictions on who can see and use certain files. They also let you restrict access toUniVerse accounts. However, unless you define groups of users, file permission modes are of limiteduse. They allow a single user to have private files, but they do not allow certain files to be shared by aspecified group of users. Groups allow you to take full advantage of the security system.

Group IDs let the members of one group protect their files on the basis of group membership—only members of the group can read and execute the files. You can give users of a UniVerse accountdifferent permissions for files in a group account and for their own files.

Defining groups

Defining grsoups is a two-step process:

1. Define the group name and its associated group ID number.2. Assign the group ID number to each user.

You can use the System Administration menus to define group names and ID numbers and to assigngroup ID numbers to users (see Maintaining users and user groups, on page 236).

Group permission is an important part of file system security in the UniVerse environment. Unlikestandard UNIX accounts, which normally belong to individual users, UniVerse accounts are often usedby a group of people performing the same function. It therefore may make sense for the users of thesame UniVerse account to be defined as members of the same UNIX group.

One useful option is to create a set of related UNIX login accounts. For example, assume that you havea sales department whose members want to share the same UniVerse account. However, they wouldalso like to have private files. You might make the following entries in /etc/passwd:

sales::100:24:Sales dept:/u1/sales:/usr/uv/bin/uvjim::101:24:Jim Hunter:/u1/sales:/usr/uv/bin/uvmarkj::102:24:Mark Green:/u1/sales:/usr/uv/bin/uv

The following entry is added to /etc/group:

sales::24:sales,jim,mark

Because Jim and Mark have the same home directory as sales, they have the same VOC file and hencethe same UniVerse account. The default umask for the sales account should be set to 007 to allowaccess to the account’s files to all members of the sales group.

Individual users could set the mode for their own private files to 600 by using a umask of 077, andrestrict access to these files to themselves.

Note: If you use the System Administration menus to change file permissions, ownership, or groupownership on a UniVerse account, the changes are applied to all files and subdirectories in theaccount directory.

Page 87: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

VOC file security

87

VOC file securityIn addition to the standard UNIX security mechanisms, you can exercise a degree of control over theactions of users who are logged on directly to the UniVerse environment by editing the contents of theVOC file for that account, and then assigning UNIX file permissions that prevent a user from writing theVOC file. Because the VOC file contains all the verbs and commands that a user can execute, you cankeep a user from executing unwanted commands simply by removing them from the VOC file.

Note: If you want to create a secure installation in which only privileged users have access to theunderlying UNIX operating system, you must define /usr/uv/bin/uv as the account’s loginshell. If uv is invoked from a .profile file, interrupting the execution of the .profile (forexample, by pressing the Break key) leaves the user in a UNIX shell.

Security subroutinesVOC entries that point to remote items provide a mechanism for controlling access to certaincommands. You can specify a user-supplied subroutine in field 4 of remote-type VOC entries. Sucha subroutine sets a flag that permits or restricts access to the remote item. The UniVerse commandprocessor checks the flag returned by the subroutine accessing the remote item.

A security subroutine must be set up for seven arguments:

SUBROUTINE security (remote,sentence,level,port,acct,log,flag)

security is the name of the subroutine. The first six arguments are passed to the subroutine by thecommand processor, and the last argument is a return argument. These arguments are brieflydescribed in the following table.

Argument Description

remote The contents of the VOC entry for the remote item being executed.sentence The value of @SENTENCE (the command which invoked the remote item).level The following values are set:

▪ 0 Command processor

▪ 1 Execute

▪ 2 Execute of executeport User’s port numberacct Current account namelog Login name of userflag The return flag:

▪ 1 Permit access

▪ 0 Restrict access

Upon return from the subroutine, the command processor checks the return flag. If the flag is set to1, the command pointed to by the R-type VOC record is executed. If the flag is set to 0, access to thecommand is denied.

An effective way to use security subroutines is to put commands to which you want to restrict accessin the UV account’s VOCLIB file and put remote pointers to them in users’ VOC files. Then add theappropriate security subroutines to the new remote pointers.

Page 88: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

88

Chapter 7: Managing locksCertain UniVerse BASIC statements and UniVerse commands set locks on UniVerse files. The type oflock determines what a user or process can access while other users and processes have locks onrecords or files.

Record locks and file locksUniVerse record and file locks control access to records and files among concurrent user processes.

To control access to records and files, UniVerse supports two levels of lock granularity:

▪ Fine granularity of record locks

▪ Coarse granularity of file locks

Granularity refers to the level at which a process or program acquires a lock. Record locks affect asmaller element, the record, and provide a fine level of granularity, whereas file locks affect a largerelement, the file, and produce a coarse level of granularity.

Lock compatibility determines what a user’s process can access while other processes have locks onrecords or files. Record locks allow more compatibility because they coexist with other record locks,thus allowing more transactions to take place concurrently. However these “finer-grained” locksprovide a lower isolation level. File locks enforce a high isolation level, more concurrency control, butless compatibility. For information about transaction processing and isolation levels, see UniVerseBASIC.

Lock compatibility decreases and isolation level increases as strength and granularity increase. Thismay increase the possibility of deadlocks at high isolation levels. Within each granularity level, thestrength of the lock can vary. UniVerse supports the following locks (in order of increasing strength):

▪ Shared record lock

▪ Update record lock

▪ Shared file lock

▪ Intent file lock

▪ Exclusive file lock

The locks become less compatible as the granularity, strength, and number of locks increase.Therefore the number of lock conflicts increase, and fewer users can access records and filesconcurrently. Weaker locks can always be promoted to stronger locks or escalated to a coarser level ofgranularity if needed.

Shared record lock

This lock is also called a READL lock, and is displayed as RL in the LIST.READU output. The sharedrecord lock affects other users as follows:

Allows other users to acquire: Prevents other users fromacquiring:

Is ignored if the current useralready owns:

Shared record lock Update record lock Shared record lockShared file lock Exclusive file lock Update record lock

Page 89: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Update record lock

89

Allows other users to acquire: Prevents other users fromacquiring:

Is ignored if the current useralready owns:

Intent file lock Shared file lock

Intent file lock

Exclusive file lock

The shared record lock can be promoted or escalated as follows:

Promoted to... If...

Update record lock No shared record locks are owned by another user

No shared file locks are owned by another user

No intent file locks are owned by another user

Escalated to... If...

Shared file lock No intent file locks are owned by another user

No update record locks are owned by another userIntent file lock No intent file locks are owned by another user

All update record locks are owned by the current userExclusive file lock No intent file locks are owned by another user

All shared and update record locks are owned by the current user

Update record lock

This lock is also called a READU lock, and is displayed as RU in the LIST.READU output. The updaterecord lock affects other users as follows:

Allows other users to acquire: Prevents other users fromacquiring:

Is ignored if the current useralready owns:

No locks Shared record lock

Update record lock

Shared file lock

Intent file lock

Exclusive file lock

Update record lock

Exclusive file lock

An update record lock is incompatible with a shared file lock owned by the same user.

The update record lock can be escalated as follows:

Escalated to... If...

Intent file lock All update record locks are owned by the current userExclusive file lock All shared and update record locks are owned by the current user

Page 90: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 7: Managing locks

90

Shared file lock

This lock is displayed as FS in the LIST.READU output. The shared file lock affects other users asfollows:

Allows other users to acquire: Prevents other users fromacquiring:

Is ignored if the current useralready owns:

Shared record lock Update record lock Shared file lockShared file lock Intent file lock

Exclusive file lock

Intent file lock

Exclusive file lock

A shared file lock is incompatible with an update record lock owned by the same user. The shared filelock can be promoted as follows:

Promoted to... If...

Intent file lock No shared file locks are owned by another userExclusive file lock No shared file locks or shared record locks are owned by

another user

Intent file lock

This lock is displayed as IX in the LIST.READU output. The intent file lock affects other processes asfollows:

Allows other users to acquire: Prevents other users fromacquiring:

Is ignored if the current useralready owns:

Shared record lock Update record lock

Shared file lock

Intent file lock

Exclusive file lock

Intent file lock

Exclusive file lock

The intent file lock can be promoted as follows:

Promoted to... If...

Exclusive file lock No shared record locks are owned by another user

Exclusive file lock

This lock is displayed as FX in the LIST.READU output. The exclusive file lock affects other users asfollows:

Page 91: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Transactions and locks

91

Allows other users to acquire: Prevents other users fromacquiring:

Is ignored if the current useralready owns:

No locks Shared record lock

Update record lock

Shared file lock

Intent file lock

Exclusive file lock

Exclusive file lock

Transactions and locksLocks acquired before a transaction exists, or outside an active transaction, are inherited by the activetransaction. Locks acquired or promoted within a transaction are not released.

Instead they adhere to the following behavior:

▪ Locks acquired or promoted within a nested transaction are adopted by the parent transactionwhen the nested transaction commits.

▪ Locks acquired within a nested transaction are released when the nested transaction rolls back.

▪ Locks promoted within a nested transaction are demoted to the level they were before the start ofthat transaction when the nested transaction rolls back.

▪ All locks acquired, promoted, or adopted from nested transactions are released when the top-leveltransaction commits or rolls back.

Managing locks in XAdminTo access the Locks tool in XAdmin,from the Admin Tasks view, expand Locks. The Locks pane opensand displays the database type that you are using. In the following example, UniVerse is the displayeddatabase.

The Lock Administration dialog box is divided into to main areas, File and Record Locks and GroupLocks.

Note: The information displayed in the Lock Administration window is a snapshot of the file,record, and group locks when you activated the Locks option. To view the current state of locks,click Refresh.

Page 92: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 7: Managing locks

92

File/Record Locks tab

The following table describes the column headings of the File/Record Lock tab on the LockAdministration window.

Tip: To increase or decrease the size of a column, place the cursor on the line to the right of thecolumn heading you want to change until the cursor becomes a double-headed arrow, then clickthe mouse button and drag to the proper size.

Column Heading DescriptionUNO The sequential number the database assigns to the process that

set the lock.UNBR The process ID of the user who set the lock.UID The user ID of the user who set the lock.UNAME The log on name of the user who set the lock.TTY The terminal device of the user who set the lock.FILENAME The file name in which the record is locked.INBRH The high integer of the inode of the file holding the lock, on

Windows platforms only.INBR The inode of the locked file. On Windows platforms, this is the low

integer of the inode of the file holding the lock.DNBR Used in conjunction with INBR to define the file at the operating

system level.RECORD ID The record ID of the locked record.M The type of lock. X indicates an exclusive lock. S indicates a shared

lock.TIME The time at which the lock was set.DATE The date on which the lock was set.

To refresh the display, click Refresh.

Table 1: File/record lock display

Field Description

Device A number that identifies the logical partition of the disk where the filesystem is located.

inode A number that identifies the file that is being accessed.Net A number that identifies the host from which the lock originated. Zero

(0) indicates a lock on the local machine.User # The user ID.

Page 93: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Group locks

93

Field Description

Lmode The lock semaphore number and the type of lock.

For record locks, there are two settings:

▪ RU for an update (READU) lock

▪ RL for a shared (READL) lock

For file locks, there are six settings:

▪ FS for a shared (READL) lock.

▪ IX for a shared (READL) lock with intent to acquire an exclusive filelock.

▪ FX for an exclusive (READU) file lock.

▪ XU for an exclusive (READU) lock set by CLEAR.FILE.

▪ CR for a shared (READL) file lock set by RESIZE.

▪ XR for an exclusive (READU) file lock set by RESIZE.Pid The process ID number.Login ID The login ID.Record ID The name of the record that is locked.Bad The bad lock indicator. If this column is empty, the lock is good. If this

column contains an asterisk (*), the lock is bad.

Group locks

The following information is in the Group Locks list:

Parameter Description

Device A number that identifies the logical partition of the disk where the file system islocated.

Inode A number that identifies the file that is being accessed.Net A number that identifies the host from which the lock originated. Zero (0)

indicates a lock on the local machine.User# The user ID.Lmode The lock semaphore number and the type of lock. There are five settings:

▪ EX for an exclusive update lock

▪ SH for a shared lock

▪ RD for a read lock

▪ WR for a write lock

▪ IN for an information lockG-Address The logical disk address of the group. This value is 1 for a type 1 or type 19 file.

Any other value is represented in hexadecimal format.Rec Locks The number of locked records in the group.Reader The number of readers in the group.SH The number of shared group locks.EX The number of exclusive update locks.

Page 94: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 7: Managing locks

94

Clearing locks

You can clear a single file, record, or group lock, or all the locks for a specified user using the Lockswindow.

1. From the Admin Tasks view, click Locks.2. To clear a file or record lock, complete the following steps:

a. Select the lock from the File/Record Locks list.b. Click Clear Lock.

3. To clear a group lock, complete the following steps:a. Select the lock from the Group Locks list.b. Click Clear Group Lock.

4. To clear all locks for a specified user, complete the following steps:a. Click User ID.

The Clear User Locks window opens.b. Enter the user ID in the User Id field.c. Click OK.

The uvcleanupd daemonThe clean up daemon, uvcleanupd, detects terminated user processes at check time intervals. Ifuvcleanupd detects a terminated process, internal flags are set. The uvsmm daemon periodicallychecks to see if uvcleanupd has set internal flags. If it detects flags, uvsmm performs the necessarycleanup and resets its own flag to zero. The uvcleanupd daemon performs clean up that is nothandled by uvsmm. When the uvsmm daemon has reset its flag to zero, the uvcleanupd daemonresets its flag to zero, makes the user process ID available, and frees the local control table.

The uvcleanupd daemon is started when the database starts.

The uvcleanupd.config file

You can specify the parameters that determine how frequently the uvcleanupd daemon runs in theuvcleanupd.config file, located in the $UVHOME directory.

The following table describes the parameters stored in the uvcleanupd.config file.

Parameter Description

start Used to determine when to start the uvcleanupd daemon.

▪ 0 - does not start the uvcleanupd daemon when the server starts.

▪ 1 - start the uvcleanupd daemon when the server starts.timer The number of seconds the uvcleanupd daemon waits before check for

terminated processes.log The full path to the uvcleanupd log file. If no file is specified, the log file name

used is uvcleanupd.log.

Stop and restart the database so that the changes take effect.

Page 95: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

uvcleanupd command

95

uvcleanupd command

The uvcleanupd command forces a clean up of resources owned by a terminated process. To runthe uvcleanupd command, you must be a UniVerse administrator or the user that has the same usernumber as the terminated process.

Syntax

uvcleanupd {[-t time] [-l location]} | {-c} | {-stop}

Parameters

The following table describes each parameter of the syntax.

Parameter Description

-t time The interval time (in seconds) to have the uvcleanupd daemon check fordead processes. The default is 15 seconds.

-l location The location of the uvcleanupd log file. The default location is uvhome/uvcleanupd.log.

-c Instructs the uvcleanupd daemon to use the parameters that are definedin the uvcleanupd.config file on startup. When -c is specified, no otheroptions can be used.

-stop Stops the uvcleanupd daemon while UniVerse is running.

Note: If the uvcleanupd daemon is cleaning up a terminated uvrw process, the informationlogged in the uvcleanupd.log file will contain additional information regarding the replicationlog being processed. This can be helpful in diagnosing unexpected uvrw terminations.

uvcleanupd logging

As of UniVerse 12.1.1, you can configure logging for the uvcleanupd daemon.

To turn on logging for uvcleanupd, create a uvcleanupd.cfg file in $UVHOME/logs/configcontaining the following lines:

logging=true handler= LogFile LogFile.filename=uvcleanupd.log LogFile.append=true LogFile.type+=DEBUG10 LogFile.module=CLEANUPD LogFile.module+=SHMALLOC LogFile.module+=U2LOG LogFile.field=SEQNO LogFile.field+=TIME LogFile.field+=PROCID LogFile.filesize=1000 LogFile.flush=true

Logging output is located in $UVHOME/logs/output. Following is an example:

PROCID:10236 TIME:2018/04/18 14:52:18-0499 SEQNO:18 cleanup cycle starts...PROCID:10236 TIME:2018/04/18 14:52:18-0499 SEQNO:19 checking dead process...PROCID:10236 TIME:2018/04/18 14:52:18-0499 SEQNO:20 locking process table...

Page 96: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 7: Managing locks

96

PROCID:10236 TIME:2018/04/18 14:52:18-0499 SEQNO:21 release process table...PROCID:10236 TIME:2018/04/18 14:52:18-0499 SEQNO:24 In U_check_finished()...PROCID:10236 TIME:2018/04/18 14:52:18-0499 SEQNO:25 disable the login...PROCID:10236 TIME:2018/04/18 14:52:18-0499 SEQNO:26 enable login...PROCID:10236 TIME:2018/04/18 14:52:18-0499 SEQNO:27 Fixing UVNET and CONNPL license...PROCID:10236 TIME:2018/04/18 14:52:33-0499 SEQNO:29 cleanup cycle starts...PROCID:10236 TIME:2018/04/18 14:52:33-0499 SEQNO:30 checking dead process...PROCID:10236 TIME:2018/04/18 14:52:33-0499 SEQNO:31 locking process table...PROCID:10236 TIME:2018/04/18 14:52:33-0499 SEQNO:32 release process table...PROCID:10236 TIME:2018/04/18 14:52:33-0499 SEQNO:35 In U_check_finished()...PROCID:10236 TIME:2018/04/18 14:52:33-0499 SEQNO:36 disable the login...PROCID:10236 TIME:2018/04/18 14:52:33-0499 SEQNO:37 enable login...PROCID:10236 TIME:2018/04/18 14:52:33-0499 SEQNO:38 Fixing UVNET and CONNPL license...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:40 cleanup cycle starts...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:41 checking dead process...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:42 locking process table...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:43 process does not exist. pid = 856PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:44 clean up process table entry. pid = 856PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:45 clean uv signature table. pid = 856PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:46 release process table...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:49 In U_check_finished()...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:50 disable the login...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:51 enable login...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:52 Calling U_daemon_all_latch_cleanup()...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:55 Calling U_daemon_all_logical_cleanup()...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:58 Calling U_rep_detach()...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:59 Calling U_daemon_all_LK_cleanup()...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:64 Calling fix_pkg_log()...PROCID:10236 TIME:2018/04/18 14:52:48-0499 SEQNO:65 disable the login...

Page 97: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

97

Chapter 8: Dynamic linking (UNIX only)Dynamic linking allows the C code routines to be integrated with UniVerse and called by BASICprograms. With dynamic linking, GCI utilities do not have to be statically linked to each new release,allowing easier installation of product updates and reducing system administration.

Three UniVerse libraries are linked to the UniVerse executables:

▪ libuniverse.so/sl – the UniVerse run machine and general functions

▪ libu2gci.so/sl – custom GCI functions

▪ libodbc.so/sl – ODBC functions (can be from third-party sources)

Note: On Linux platforms, the shared library extension is .so – shared object. This is the same asmost UNIX platforms, except on HP-UX, which uses the .sl extension – shared library.

Only the names of these libraries are referenced in the UniVerse executables. The directories that aresearched to locate these libraries are determined by the following methods:

▪ Environment variables:▫ LD_LIBRARY_PATH (All platforms)

▫ LIBPATH (AIX)

▫ SHLIB_PATH (HP-UX)

▪ Files/Links:▫ Links inside the /.uvlibs path

▫ System paths

The /.uvlibs path definitionThe /.uvlibs path in the root directory typically points to $UVHOME/uvdlls. Previously, this pathwould only include libodbc.so/sl. Starting at UniVerse 11.3.1, the /.uvlibs path also includeslinks to the UniVerse bin libraries needed by the UniVerse executables.

The /.uvlibs path is reset on UniVerse installations or upgrades. The location of the /.uvlibspath is commonly changed when third party ODBC drivers are used. When this path is changed, usethe relink.uvlibs /new_path command to confirm that all links are set up properly. The firstparameter is the parent directory of where the libodbc.so/sl file is found.

All UniVerse executables check the /.uvlibs path. If you were using the dynamic libraryenvironment variables previously only for XML, these variables are no longer needed at 11.3.1. Butif you use these dynamic library environment variables for other reasons such as third-party ODBCdrivers, then continue to use these environment variables. However, it is good practice to use thedynamic library environment variables noted to force the library lookup mechanism to the path youintend to use.

Dynamic library search method and toolsGenerally, the search order is dynamic library environment variables first, then the /.uvlibs path,and finally system paths, though this can change depending on the operating system. If a sharedlibrary is found in more than one directory using the various search paths, then the first occurrencefound in the search paths will be used.

Page 98: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 8: Dynamic linking (UNIX only)

98

The following sections describe the search tools and order for each UniVerse 11.3.x supportedplatform.

Notes about the search methods and tools

Each platform uses the ldd exe_name tool. exe_name is the executable you want to review, forexample uvsh.

The ldd command does not take into account the $LD_LIBRARY_PATH variable. This is applicable forAIX only.

The $ENV variable can be called before some executables, but might override any environmentvariables set.

The use of Java clients local to the server might require the operating-system-specific variables to beset (for example, LIBPATH on AIX and SHLIB_PATH on HP-UX).

The libodbc.so/sl file shipped with UniVerse can be found in both the /.uvlibs path and$UVHOME/bin directory.

Using different types of UNIX shells can generate different results than the search orders noted. Theinformation included is based on using ksh on AIX and HP-UX, and bash on Linux and Solaris.

In some cases, the ldd command and executable programs will look first in the current directorybefore other locations. However, this is not consistently done in all situations and is more common onAIX than other platforms.

In some tool outputs, you might see references to UniVerse paths that typically should not exist. Theseare internal build system paths and can be ignored if found.

AIX

The AIX tools used to search are:

▪ ldd exe_name

▪ dump -H -X64 exe_name

The search order is:

1. $LIBPATH2. $LD_LIBRARY_PATH3. /.uvlibs default path4. System path

$LIBPATH is searched before anything else. Support for $LD_LIBRARY_PATH was added at AIX 5.3 butit is still secondary to $LIBPATH. After $LIBPATH and $LD_LIBRARY_PATH, the location defined by the/.uvlibs path is used, and then finally any system default paths. You can see the default searchpath using dump -H -X64 uvsh in the INDEX 0 position.

HP-UX

The HP-UX tools used to search are:

▪ ldd exe_name

▪ chatr exe_name

The search order is:

1. $LD_LIBRARY_PATH2. $SHLIB_PATH3. /.uvlibs path4. System paths

Page 99: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Dynamic library search method and tools

99

Unlike AIX, on HP-UX, the general $LD_LIBRARY_PATH variable is searched first, followed by$SHLIB_PATH. After those variables, the /.uvlibs path is searched, and finally the system paths.The ldd command on HP-UX should properly refer to $LD_LIBRARY_PATH. The system paths can belisted in chatr uvsh output, but typically anything included under /usr/lib is listed.

Linux

The Linux tools used to search are:

▪ ldd exe_name

▪ objdump -a -x exe_name

The search order is:

1. $LD_LIBRARY_PATH2. /.uvlibs path3. System paths (including paths set with ldconfig)

During the UniVerse installation or upgrade, ldconfig is executed to include UniVersepaths in the system default paths. The UniVerse bin is included in /etc/ld.so.conf.d/UniVerse.conf and the UniVerse Python lib directory is included in /etc/ld.so.conf.d/UniVerse_python.conf. Then ldconfig is executed to update the library cache.

Solaris

The Solaris tools used to search are:

▪ ldd exe_name

▪ ldd -S exe_name

▪ crle -64

The search order is:

1. $LD_LIBRARY_PATH2. /.uvlibs path3. System paths (including paths set with crle)

Starting at UniVerse 11.3.1, during the UniVerse installation or upgrade, the system paths are updatedto include the UniVerse bin directory using the crle -64 command. The paths in this command areincluded in the following order:

1. /lib/642. /usr/lib/643. Third-party paths4. The current UniVerse bin directory5. Any of the UniVerse bin paths6. Any UniData bin paths

Note: If installing UniData 8.2.x or later on the same server, the most recently installed UniVerse orUniData bin will be included in the third position in the path sequence.

Specific measures are taken during the installation or upgrade to confirm that the /lib/64 and/usr/lib/64 directories are first in the list. If problems arise, set the environment variableLD_NOCONFIG=yes to temporarily disable the use of the crle search path for your session.

Page 100: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 8: Dynamic linking (UNIX only)

100

Converting the library from static to dynamicIf prior to 11.3.1, you relied on the UniVerse GCI Administration menu to incorporate GCI functions intoUniVerse, no major rework is required to generate the libu2gci.so/sl file. However if you havemade custom build scripts or makefiles, then converting the GCI library from static linking to dynamiclinking might require significant changes.

Object modules that comprise a dynamically linked library must be compiled with position-independent code. Each combination of compiler, operating system, and processor architecture mightrequire different compiler and linker switches to accomplish this. For example:

▪ gcc and g++ on Linux platforms require -fPIC

▪ Solaris Studio cc and CC on Intel require -Kpic

▪ Solaris Studio cc and CC on SPARC require -xcode=pic32

Verifying the GCI libraryWhen converting from static to dynamic libraries, use the ldd command to verify that libraries will befound in the search path.

The following example shows the ldd command being used as a first pass:

$ ldd libu2gci.so libnsl.so.1 => /lib/64/libnsl.so.1 libm.so.2 => /lib/64/libm.so.2 libz.so.1 => /lib/64/libz.so.1 libstdc++.so.6 => /usr/lib/64/libstdc++.so.6 libCrun.so.1 => /usr/lib/64/libCrun.so.1 libc.so.1 => /lib/64/libc.so.1 libidn.so.11 => /usr/lib/64/libidn.so.11 libssh2.so.1 => /usr/lib/64/libssh2.so.1 libssl.so.1.0.0 => /lib/64/libssl.so.1.0.0 libcrypto.so.1.0.0 => /lib/64/libcrypto.so.1.0.0 libgcc_s.so.1 => /usr/lib/64/libgcc_s.so.1 libelf.so.1 => /lib/64/libelf.so.1

If any libraries cannot be found, adjust your search paths as described in Dynamic library searchmethod and tools, on page 97.

Use the -r option of the ldd command against the libu2gci.so/sl file to ensure that unresolvedreferenced symbols can be resolved. For example:

$ ldd -r libu2gci.so libnsl.so.1 => /lib/64/libnsl.so.1 libm.so.2 => /lib/64/libm.so.2 libz.so.1 => /lib/64/libz.so.1 libstdc++.so.6 => /usr/lib/64/libstdc++.so.6 libCrun.so.1 => /usr/lib/64/libCrun.so.1 libc.so.1 => /lib/64/libc.so.1 libidn.so.11 => /usr/lib/64/libidn.so.11 libssh2.so.1 => /usr/lib/64/libssh2.so.1 libssl.so.1.0.0 => /lib/64/libssl.so.1.0.0 libcrypto.so.1.0.0 => /lib/64/libcrypto.so.1.0.0 libgcc_s.so.1 => /usr/lib/64/libgcc_s.so.1 libelf.so.1 => /lib/64/libelf.so.1 symbol not found: gci_init (libu2gci.so) symbol not found: fatal (libu2gci.so) symbol not found: char_load (libu2gci.so)

Page 101: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Troubleshooting dynamic linking

101

symbol not found: gci_seterrno (libu2gci.so) symbol not found: rel_var (libu2gci.so) symbol not found: int_store (libu2gci.so) symbol not found: lchar_init (libu2gci.so) symbol not found: num_load (libu2gci.so) symbol not found: lchar_store (libu2gci.so) symbol not found: gci_voidp_load (libu2gci.so) symbol not found: gci_voidp_store (libu2gci.so) symbol not found: charvar_init (libu2gci.so) symbol not found: charvar_store (libu2gci.so) symbol not found: charvar_load (libu2gci.so) symbol not found: array_init (libu2gci.so) symbol not found: array_store (libu2gci.so)

All of the symbols are located in the libuniverse.o directory, so the libu2gci.so library usedin the previous example should work. You can check for the existence of an individual symbol in alibrary as shown in the following example:

$ nm -g libuniverse.so | grep ‘|gci_init’$[17284] | 6594608| 52|FUNC |GLOB |0 |14 |gci_init

Troubleshooting dynamic linkingThis section describes methods and examples to help you troubleshoot dynamic linking.

Debug executables

UniVerse is shipped in a release mode that removes additional symbol tables that can be useful whencore dumps occur. Use the debug version of the executables when troubleshooting core dumps. Thedebug executables are in the UniVerse bin directory and end with .d. Not all debug executables areshipped.

To use the *.d files such as uvsh.d and uvapi_slave.d, include the $UVHOME/lib.d directorybefore UniVerse bin in the dynamic library environment variables. The $UVHOME/lib.d directoryincludes the debug build versions of the libraries linked with uvsh and other executables. Thedirectory also includes a readme file and the libu2gci.so.install (or .sl) library. When GCI isused, the libu2gci.so/sl file in the lib.d directory is replaced if using GCI Admin menu option5 (install a new u2gci library). This file is not updated automatically if the UniVerse bin version of thelibu2gci.so/sl file is updated manually.

You can also call the uv.d script included with UniVerse. This script sets the $UVHOME/lib.ddirectory before any other UniVerse paths. However, if any UniVerse paths are included in the dynamiclibrary environment variables before calling the uv.d script, those paths will supersede the settings inthe uv.d script.

Example 1: Missing library

The following example shows the error you might see when the main libuniverse.so file cannotbe found:

# bin/uvshCould not load program bin/uvsh: Dependent module libuniverse.so could not be loaded.Could not load module libuniverse.so.System error: No such file or directory

Page 102: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 8: Dynamic linking (UNIX only)

102

Example 2: Incorrect library

When executing a program that has a GCI function included, but the libu2gci.so file is pointing tothe wrong path, the error displayed looks similar to the following:

>RUN BP TESTProgram "TEST": Line 4, Invalid GCI subroutine.

For example, an ldd command output on an AIX system with LIBPATH set looks like:

# ldd bin/uvshbin/uvsh needs: /disk1/uv1131/bin/libuniverse.so /disk1/uv1131/bin/libu2gci.so /usr/local/unixODBC/lib/libodbc.so /lib/libpthread.a(shr_xpg5_64.o) /lib/libC.a(shr_64.o)...

However, if LIBPATH is changed to include the $UVHOME/gcidir directory, the output changes andthe routine will run:

# LIBPATH=$LIBPATH:`cat /.uvhome`/gcidir:`cat /.uvhome`/bin;export LIBPATH# ldd bin/uvshbin/uvsh needs: /disk1/uv1131/bin/libuniverse.so /disk1/uv1131/gcidir/libu2gci.so /usr/local/unixODBC/lib/libodbc.so

Notice that the libodbc.so file has been found in the /usr/local path as well. This happensbecause of the existing $LIBPATH directory including the /usr/local/unixODBC/lib path beforeany of the UniVerse references. Again, be advised that the $ENV variable can disrupt the expectedresults.

Example 3: Multiple versions

If multiple versions of UniVerse are found when using UNIX or Linux, make sure the dynamic linklibrary variables have the correct UniVerse bin directory. You might see an error similar to thefollowing:

Could not load program updaccount: rtld: 0712-001 Symbol u2strlen was referenced from module updaccount(), but a runtime definition of the symbol was not found. rtld: 0712-002 fatal error: exiting.

For all UNIX or Linux paths, check the contents of the LD_LIBRARY_PATH environment variable. If onAIX, check the LIBPATH environment variable; if on HP, check the SHLIB_PATH environment variable.

Page 103: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

103

Chapter 9: Configuring peripheral devicesThis section describes how to configure peripheral devices such as tape drives and terminals. It alsohelps with solving some of the problems that can occur with these peripherals.

The &DEVICE& fileYou must define printers and tape drives in the &DEVICE& file for UniVerse applications to accessthem. The &DEVICE& file is in the UV account. It contains definitions for all devices defined inUniVerse. Each record in this file corresponds to a defined device.

Each device listed in the &DEVICE& file has a name, a brief description, a path, and options, such aslock files. The type of device (printer, tape drive, or other) is also indicated.

The following examples show a &DEVICE& entry that defines a tape device. Check the InstallationGuide to see the &DEVICE& file entry definition for your system.

Windows example:

DEVICE.......... FD0Description..... First floppy drive(A:)NT device name.. \\.\A:Block²size...... 500Device²type..... FLock files......Rewind²device...NoRewind²device.cpio-backup.....cpio-restore....Skip²file.......Rewind²tape.....Tape²offline....Field 13........Field 14........Field 15........Input²Blksize...Rotate²Flag.....NLS²map name....

UNIX example:

DEVICE.......... MT0Description..... Magnetic tape drive number 0 (1600bpi)UNIX pathname... /dev/rmt/2nBlock size...... 8192Device type..... DTLock files......Rewind device... /dev/rmt/2NoRewind device. /dev/rmt/2ncpio-backup..... find $file -print | cpio -ovcB > $tapecpio-restore.... cpio -ivcdumB $file < $tapeSkip file....... mt -f $tape fsfRewind tape..... mt -f $tape rewindTape offline.... mt -f $tape offlineField 13........ AField 14........ yField 15........ y

Page 104: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 9: Configuring peripheral devices

104

Input Blksize... 16384Rotate Flag.....NLS Map Name....

Configuring tape drivesYou can add, update, or delete tapes with XAdmin. The &DEVICE& file is automatically updated withyour changes.

The following sections describe how to configure tape devices:

Defining a new tape drive

Complete the following steps to define a new tape drive.

1. From the Admin Tasks view, double-click Devices.The Devices tab displays, as shown in the following example.

2. Click Tapes from the Device Type area.

Page 105: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Defining a new tape drive

105

3. Click Add.The Add Tape Device dialog box opens. The options available on this dialog box differ betweenUNIX and Windows platforms. The following example displays the dialog box with a Windowsserver.

4. In the Add Tape Device dialog box, complete the following fields:

Field Action

Tape Name Enter the name of the new tape drive.

This name is used in various U2 commands,such as ASSIGN, to refer to the device.

Tape Type Select the type of tape.

Description (Optional) Enter a brief description of the tapedrive.

Device (Windows only) Enter the device path, forexample, \\.\tape0, or click Browse tolocate the path.

No Rewind (UNIX only) Enter the path of the no rewinddevice, for example, /dev/rmt0n, or clickBrowse to locate the path.

A no-rewind tape drive does not rewind whenclosed.

Page 106: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 9: Configuring peripheral devices

106

Field Action

Rewind (UNIX only) Enter a field path, for example,/dev/rmt0, or click Browse to locate thepath.

You cannot use the same path as the one forthe No Rewind option. A rewind tape driverewinds when closed.

Note: Be sure to assign the correct accesspermissions to the device. You can setpermissions for a device with the UNIX chmodcommand.

Lock File (Optional) Enter the name of a lock file. Youcan use Browse to search the system for asuitable directory.

When a device is shared by UniVerse andUNIX system processes, it needs a speciallock file that coordinates access to the devicewhen more than one process tried to accessit. This field contains the UNIX paths usedto implement the locking protocol usedby the UniVerse spooler and UNIX facilitiessuch as the spooler and uucp. This field isusually empty for tape devices, but can beused to display ownership information. Forinformation about the form of the lock filename for a system, see the UNIX referencemanual for the process that is sharing thedevice.

NLS Map (Optional) Enter the name of a character setmap for the device if your system runs withNLS enabled.

For information about maps, see the RocketUniVerse NLS User Guide.

Read/Write Position Select the setting for the read/write positionfrom the list. This specifies where on a tape achange from read to write mode is allowed.

This field is automatically updated with asuitable setting if you use the Test Tapebutton.

Note: Most Berkeley device drivers work withRead/Write Position set to A or E. Most SystemV device drivers work with Read/Write Positionset to L or E.

Page 107: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Defining a new tape drive

107

Field Action

Test Tape (Optional) Click the Test Tape button if youwant to run the tape device testing program todetermine the following:▪ Where to allow the tape to change from

read to write mode

▪ What action to take when a tape file that isopened for read is closed

▪ If a second read call at the end-of-fileshould return the end-of-file conditionagain

If you run the tests, their results areautomatically filled in for you. If you do notrun the tests, you can fill in your own valuesfor these fields.

Close On Read Select this check box to determine the actiontaken when a tape opened for reading isclosed. If selected (the default setting), thetape moves forward to the beginning of thenext file. If clear, the tape does not moveforward. This field is automatically updatedwith a suitable setting if you click the TestTape button.

Multiple Read at EOF Select this check box to specify the behaviorof the tape when EOF is reached. If selected(the default setting), the second read alsoreturns EOF. If clear, the second read readsthe next block/record after EOF. This field isautomatically updated with a suitable settingif you click the Test Tape button.

Add To Rotating File Pool (UNIX only) This flag specifies that the deviceis subject to file rotation. Y indicates the fileunit associated with the device can be rotatedbased on demand. N indicates that the devicemust remain open until explicitly closed.

Default Enter a block size.

This is the block size used for normal tapeoperations. If the tape drive is a cartridge (C),this value must be a multiple of 512. A blocksize of 0 (variable) is normally used for DT andT type drives.

Account Transfer Enter a value for the block size.

This value is used when importing accounts.You can accept the default of 8192 or enter anew value.

Page 108: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 9: Configuring peripheral devices

108

Field Action

DOS Commands (Windows only) Enter commands in the DOScommands section.

In the Skip and Rewind fields, entercommands, for example on Windows, youmight enter the following in the Skip field:

uvmt -d\\.\tape0 -b512 fskip

Shell Commands (UNIX only) Enter commands in the ShellCommands field.

In the Skip and Rewind fields, entercommands, for example on UNIX, you mightenter the following in the Skip field:

tctl -f $tape fsf 1

Backup

Restore

Offline

(UNIX only) Enter any required commands.

5. Click OK.The new tape drive is written to the &DEVICE& file.

Viewing and modifying a tape drive definition

You can view and modify the details of any tape drive defined in the &DEVICE& file.

1. From the Admin Tasks view, double-click Devices.2. To view a tape drive definition, do one of the following:

▪ Double-click the tape drive in the Tapes list.

▪ Choose the tape drive from the Tapes list and click Update.

The Update Tape Device dialog box opens.3. You can modify any of the definition settings as described in Defining a new tape drive, on page

104. Click OK to save any changes to the &DEVICE& file.

Testing the tape

If a tape drive has a tape type of DT or DC, the Test Tape button on the Update Tape Device dialog boxis enabled. You can then use this button to fill in some of the tape drive definition details.

1. From the Admin Tasks view, double-click Devices.2. To start the tape tests, mount the tape, click Update, then click Test Tape.

Suitable settings are found for the following fields on the Tape Details dialog box:▪ Read/Write Position

▪ Close On Read

▪ Multiple Read at EOF

Page 109: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Deleting a tape drive definition

109

Note: On a UNIX system, suitable entries are also determined for the Backup and RestoreUNIX shell command fields.

3. Settings found for these fields are automatically updated after the tests have been completed,overwriting any previous settings. Click OK to save the new definition.

Deleting a tape drive definition

Delete a tape drive definition.

1. From the Admin Tasks view, double-click Devices.2. Select the tape drive from the Tapes list in the Devices tab.3. Click Delete.

A message box is displayed.4. Click Yes.

The tape drive definition is removed from the &DEVICE& file.

Configuring printers (UNIX)You can add, modify, and delete printer and spooler definitions on a UNIX system using XAdmin.

When you use the Devices option from the Admin Tasks view, the changes you make in the Devicesview automatically update the &DEVICE& file and sp.config file with your changes.

The following sections describe how to configure printers:

Defining a new printer

Complete the following steps to define a new printer.

1. From the Admin Task view, double-click Devices.The UniVerse Devices dialog box is displayed.

2. From the Device Type options, select Printers.The Printers list displays all the printers defined in the &DEVICE& file and the sp.config file.

Page 110: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 9: Configuring peripheral devices

110

3. Click Add.The Printer Details dialog box is displayed:

4. In the Add Printer Device dialog box, complete the following fields:

Field Action

Printer Name Enter the name of the new printer.

Baud Rate Select a suitable baud rate. The default is9600.

Description (Optional) Enter a description of the printer.

Form Enter a name to mount a form on the newprinter.

Note: To mount more than one form on theprinter, use the usa command.

Word Length Select a suitable word length from the list.

This is the number of data bits that make upa word, not including the parity bit. Use thearrows to scroll between the minimum andmaximum values (5 and 8, respectively).

Page 111: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Defining a new printer

111

Field Action

Devices Enter the path of the printer device file,or click Browse to search the system for asuitable file.

Driver Enter the path of the driver file if one is used.Click Browse to search the system for asuitable file.

Enable Printing Select this check box to determine the initialbehavior of the spooler daemon for this printdevice. The default setting is selected, forexample, printing is enabled.

Enabling Queuing Select this check box to determine the initialbehavior of the spooler daemon for this printdevice. The default setting is selected, forexample, queuing is enabled.

Tab Expansion Select this check box to determine whethertabs are expanded to spaces on output. Thedefault setting is selected, for example, tabsare expanded.

CR Mode In the CR Mode section, specify one of theoptions to determine how carriage returnsand line feeds are handled. The default settingis No Conversion.

Flow Control In the Flow Control section, click theappropriate to determine the communicationflow control for the printer. The default settingis XON/XOFF starts.

Lock Files (Optional) Enter the paths of lock files to use.You can specify the paths of two different lockfiles. The specified files must not exist on thesystem. You can also use Browse to constructa suitable file path.

Line Feed Select the line feed setting from the list. Thedefault setting is None.

Form Feed Select the form feed setting from the list. Thedefault setting is No FF.

Parity In the Parity section, click the appropriateoption. The default setting is None.

Other Options If required, edit this field. You can use this fieldto specify any of the UniVerse PTERM settings.See the Rocket UniVerse User Guide for adescription of the PTERM (UNIX) command.

5. Click OK.The new print device definition is written to the &DEVICE& file and the sp.config file.

Page 112: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 9: Configuring peripheral devices

112

Viewing and modifying a printer definition

You can view and modify the details of any printer defined in the &DEVICE& file.

To view a printer definition, double-click the printer in the Printers list, or select the printer from thePrinters list and click Update.

The Printer Details dialog box opens. You can modify any of the definition settings. Click OK to saveany changes to the &DEVICE& and sp.config files.

Deleting a printer definition

Complete the following steps to delete a printer.

1. Select the printer from the Printers list in the Maintain UniVerse Devices dialog box.2. Click Delete.

A message box opens.3. Click Yes.

The printer definition is removed from the &DEVICE& and sp.config files.

Configuring other devicesYou can add, modify, and delete devices other than tape drives and printers with XAdmin. Thedefinitions for these devices are stored in the &DEVICE& file, with a device type of an O values.

The following sections describe how to configure devices other than printers or tapes:

Defining a new device

Define a device that is not a tape drive or a printer.

1. From the Admin Tasks view, double-click Devices.2. Click Other from the Device Type area.

Page 113: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Configuring terminals (UNIX only)

113

3. Click Add.The Add Device dialog box opens, as shown in the following example:

4. In the Add Device dialog box, complete the following fields:

Field Action

Device Name Enter the name of the device.

Description Enter a description of the device.

Field #2 Enter an operating system path for the device.

Field #4 The device type is automatically set to O(UNIX) or to S (Windows). You need not putinformation in the other fields (Fields 3and 5 through 20), as most of these fieldsapply only to tape or printer devices. Thesefields correspond to the field numbers in the&DEVICE& file. See Updating the &DEVICE&file for descriptions of the information thesefields contain.

5. Click OK.

Configuring terminals (UNIX only)You must administer and maintain terminals entirely from the UNIX environment. The UNIXoperating system supports many different terminals, ranging from teleprinter terminals to CRTs withsophisticated graphics capabilities. Many programs use different terminal characteristics to do theirjobs. Some programs use only the most basic terminal features. Other programs, such as vi, requirea detailed knowledge of the terminal’s capabilities. A knowledge of the kind of terminal being used isimportant.

UNIX maintains a database of many different terminal types. Each type has an entry in the databasethat is identified by the manufacturer’s name and the product number. The entry lists the controlcodes used to access specific features of the terminal’s capabilities. The system usually specifies theterminal type automatically during the login process by setting an environment variable called TERMin the user’s .profile file. TERM identifies the name of a particular entry in the terminal database.

Page 114: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 9: Configuring peripheral devices

114

In addition to the terminal type, you must define a number of serial line characteristics (such as baudrate and parity) in order for a terminal to work properly with the system. The type of terminal attachedto each serial line and the line characteristics are determined automatically when someone logs in,assuming you have properly identified the terminals associated with each line in system startup files.

Terminal line naming conventions

UNIX treats a terminal (and any other device) as a special kind of file, with a file name and a location inthe UNIX file system hierarchy. These files are located in the /dev directory.

The files associated with terminal lines have names of the form /dev/ttyxxx. For example, thespecial file associated with terminal line 1 might have the special file name /dev/tty001.

In the UNIX environment the tty command tells you to what file the current terminal is attached to,as shown in the following example:

# tty /dev/tty001

In UniVerse, you can use the STATUS command with the USERS option to get this information.

Your system is shipped with a number of terminals already defined. You should have a special file in /dev for each of the terminals. The procedures for adding a special file for a terminal line are outlinedin the UNIX system administrator’s manual supplied with your system.

Setting default terminal characteristics

On most UNIX systems the init-getty-login sequence sets up a terminal for logging on anddefines certain default characteristics of the terminal line (such as the speed) and the TERM variable inthe environment.

This sequence has four parts:

1. The init process reads a file called /etc/inittab that specifies which terminal lines shouldhave a getty created for them. Each entry in /etc/inittab contains a flag that points to adefinition in another file, /etc/gettydefs.

2. The getty process reads /etc/gettydefs, which specifies the speed of the terminal line anda minimal set of terminal characteristics. getty displays a login prompt on the terminal screen.

3. When a user responds to the login prompt by logging on, the login process begins, and theterminal type associated with the line is determined. Finally the directory /usr/lib/terminfo is searched. This is the master database of terminal capability definitions.

4. You may need to modify /etc/inittab if you add terminals to the system or if you want todisable unused terminal lines so that the system does not create getty processes for them. Youalso need to change this file if you want to use a terminal that operates at a speed other than9600 baud.

If you want to use a terminal not contained in the terminfo database, you need to add a definition tothe database. The following sections look at the format of each of these files and describe the changesyou may need to make to them:

▪ The /etc/inittab file, on page 115

▪ The /etc/gettydefs file, on page 115

▪ Setting the TERM variable, on page 116

Page 115: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The /etc/inittab file

115

Note: The procedures for defining new terminals may differ from system to system. See your UNIXsystem administration manuals for detailed instructions.

The /etc/inittab file

On most UNIX systems, the file /etc/inittab contains an entry for each terminal line on thesystem.

Each entry has the following format:

ID:level:type:process

The following table describes the /etc/inittab format.

Parameter Description

ID A one- to four-character identifier used by init internally to label entries in itsprocess table. This identifier generally corresponds to the name of a terminal line.

level Specifies at what levels init should be concerned with this entry. Any time init’sinternal level matches level, this entry is active. If init’s internal level does notmatch any of the levels specified, then init makes certain that the process is notrunning. The importance of different levels for init is described in the systemadministrator’s guide for your system.

type Specifies some further condition required for or by the execution of an entry. Thisfield should be one of the following: off, once, wait, respawn, boot, bootwait, power,powerwait, or initdefault.

See the system administrator’s guide supplied with your system for a detaileddescription of these options.

process The action that init asks a shell (sh) to perform whenever the entry is activated.

For example, the entry in /etc/inittab for /dev/tty001 might read:

001:2:respawn:/etc/getty tty001 9600

There are three possible changes that you may want to make to this file:

▪ You may want to disable terminal lines that are not being used. This keeps the system fromcreating a getty for that process and saves memory. For example, if your system has fourterminal lines, but you have only three terminals installed, you might disable one of the terminallines by changing the entry in the type field of /etc/inittab to off. You may also want todisable gettys on lines that do not require a login (for example, lines associated with serialprinters, or modems that are used only to dial out).

▪ You may want to change the speed associated with a line. For example, you might make an entryfor a 1200 baud terminal by changing the 9600 to 1200 in the process field of the /etc/inittabfile.

▪ You may want to change the level parameter. This parameter determines whether the current entryis active based on the level at which init is running. level is a string of one or more characters.Any number from 0 through 6, and the letters a, b, c, and r can be used in the level parameter. Ifthe level parameter is empty, it is equivalent to the string 0123456. See the system administrator’sguide supplied with your system for more details about the level parameter.

The /etc/gettydefs file

When getty is invoked, it references /etc/gettydefs to determine how to set up the line.

Each entry has the following format:

Page 116: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 9: Configuring peripheral devices

116

label# initial flags# final flags# login message# next label

For a hypothetical terminal attached to /dev/tty001, the following entry would be read:

9600# B9600 CLOCAL BRKINT IGNPAR ISTRIP IXON IXOFF ECHO OPOST\ ONLCR #BRKINT ISTRIP ICRNL IXON OPOST ONLCR B9600 CS8 CREAD \ ISIG ICANON ECHO ECHOE ECHOK IXANY TAB3 #ROCKET Corporation.\ UNIX version V #1200

Fields in each entry are separated by the hash sign ( # )

The following table describes the /etc/gettydefs format.

Parameter Description

label Usually contains the speed setting of the terminal. When getty reads /etc/gettydefs, it checks the speed and stops at an entry whose speed fieldmatches what it determines to be the speed of the device attempting to log on.

initial flags Allows the getty to accept the login. It should be a list of basic terminalcharacteristics

final flags Entries restore the terminal to basic terminal characteristics after the logonsession

login message Gives the message that getty prints while it is waiting for a user to enter a loginname. You may want to customize this field for your particular system

next label Provides a link to the next entry for getty to search if getty finds that thecurrent speed being tried is wrong.

In general, you should not have to modify the entries in /etc/gettydefs, with the exceptionof the login message field. For further details about the /etc/gettydefs file, see the systemadministrator’s guide supplied with your system.

Setting the TERM variable

Once getty has opened the line with the characteristics specified in /etc/gettydefs, the TERMvariable must be set to establish the kind of terminal attached to the terminal line. This is done in thefile .profile.

The following example shows a Wyse 50 terminal attached to the terminal line:

TERM=wy50

On some UNIX systems, login reads a file called /etc/ttytype to determine what kind of terminalis attached to a given terminal line and sets up the TERM variable accordingly. The file containstwo columns; the first lists the terminal type, and the second lists the terminal line name. On othersystems, the default terminal type may be specified in the /etc/inittab file.

The tty command prints the line to which the terminal is attached.

The terminfo facility

The UNIX terminfo facility lets you build efficient, portable, and hardware-independent routines inyour programs. terminfo comprises a database of terminal capabilities and the library routines thatprovide access to this database. Each supported terminal’s capabilities are defined in a separate filethat is compiled into binary format for efficiency.

terminfo files enable programs to send appropriate escape sequences to a terminal by referencingfunctional descriptions of the terminal’s capabilities. At execution time, the escape sequence neededfor a particular capability is taken from the terminfo definition for the terminal. On input, a program

Page 117: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The terminfo database

117

can determine what function key or control key has been entered by comparing the input sequenceagainst the terminfo definition.

UniVerse provides extensions to the BASIC language that let you use standard UNIX terminfocapabilities and terminal capabilities available only to UniVerse applications. UniVerse also providestools that simplify the creation and modification of terminal definitions.

The terminfo database

Unlike many proprietary systems that support only one brand of terminal, UNIX supports manyterminal types. Most UNIX terminfo databases contain descriptions of over 400 terminals. Eachfile in the database contains one terminal’s capabilities, such as the number of columns and rowssupported, the escape sequences used to manipulate the terminal, and the character sequencesgenerated by pressing function keys and cursor control keys. To use the terminfo database, youmust program your application to get the terminal capabilities from the terminfo file named by anenvironment variable. This way the program is bound to the terminal type at execution time.

UniVerse maintains the UniVerse enhancements to terminfo in a local terminfo database in the UVaccount directory (such as /usr/uv). Standard UNIX capabilities are maintained in the UNIX terminfodatabase, usually in /usr/lib/terminfo. During UniVerse installation, the terminfo source fileterminfo.src, located in the sample directory, can be compiled to generate the UniVerse terminfodatabase in the UV account directory. Most of the entries in the terminfo.src file are similar to theUNIX entries, but they also include terminal capabilities specific to UniVerse.

Each terminfo source file contains a group of names the terminal is known by, separated by verticalbars ( | ). Following the list of names is a list of comma-separated fields describing the terminal’sactions, capabilities, and definitions. These include the number of columns, special escape sequencesfor cursor positioning, highlighting, inter-character delays, and other terminal-specific features. For acomplete discussion of these terminal capabilities, see the UNIX documentation (look at terminfo(4)),or the Nutshell Handbook, termcap & terminfo, available from O’Reilly & Associates, Inc. The followingis an example of the first line of an entry containing the terminal definition names:

vt100|vt100-am|dec vt100

All but the last terminal type name (dec vt100) are names of the terminfo database files containing thedescription. The naming convention for a terminal definition that is a variation of a base definition isa suffix appended to the base name with a hyphen (such as, vt100-132 for a 132-column vt100). Thedefinition of a terminal emulation has the name of the original terminal followed by a colon and thename of the emulation (such as wy50:vp for a Wyse Technology 50 emulating Adds Viewpoint).

UNIX and UniVerse terminfo directories contain subdirectories for each number (1 through 9) andfor the letters of the alphabet. Each subdirectory contains the terminfo definition files that startwith its letter or number. When you compile the terminfo source file for the vt100 terminal definitionmentioned in the previous example, four files are created (if the -a option to uvtic is used):

/usr/lib/terminfo/v/vt100 /usr/lib/terminfo/v/vt100-am /usr/uv/terminfo/v/vt100 /usr/uv/terminfo/v/vt100-am

In both directories, the vt100 and vt100-am files are linked so there are not two copies of the data.

Creating or modifying a terminfo entry

To create or modify a terminfo entry, perform the following steps.

1. Create a source file containing the definition of a terminal type close to the one that you arecreating.

2. Change the name of the terminal definition in the source file.

Page 118: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 9: Configuring peripheral devices

118

3. Use vi or another UNIX editor to make changes to the capabilities.4. Some UNIX systems support termcap. You need to modify the /etc/termcap file to reflect the

changes in terminfo.5. Use the UniVerse terminfo compiler to generate the new binary definition.6. Set your terminal type to the new value and test it.7. Make your new source file part of the standard file you recompile after any system upgrade.

Defining and enhancing terminfo capabilities

The first step in defining a new terminfo entry or enhancing an existing one is to read the owner’smanual for your terminal. The manual should describe all the character strings that make uptransmitted sequences from your keyboard and all the escape sequences for manipulating the display.

The following is an example of a standard UNIX vt100 terminfo source definition:

vt100|vt100-am|dec vt100,am, xenl, xon,cols#80, it#8, lines#24, vt#3,bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J,cr=\r, csnm=\E[5m, csr=\E[%i%p1%d;%p2%dr,cub=\E[%p1%dD, cub1=•, cud=\E[%p1%dB, cud1=\n,cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,cuu=\E[%p1%dA, cuu1=\E[A, docr=\E[J, ed=\E[J, el=\E[K,home=\E[H, ht=, hts=\EH, ind=\n, initc=31, kbs=\b,kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, oc=10;13,rc=\E8, rev=\E[7m, ri=\EM, rmkx=\E[?1l\E>, rmso=\E[m,rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,sc=\E7,sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m,sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,subcs=\E[H\E[J, supcs=\E[H, tbc=\E[3g, zerom=\E[K,

Capabilities defined in a terminfo source file are divided into three classes:

▪ Numeric

▪ Boolean

▪ String capabilities (strings and parameterized strings)

For more information about terminfo capabilities, with examples, see terminfo terminalcapabilities, on page 283.

Modifying a terminfo entry

Whether you are creating a new terminfo definition or enhancing an existing one, start by copyingan existing terminfo definition that is close to the one you are trying to create, then test eachcapability as you modify the definition

You can use the UniVerse terminfo decompiler uvtidc to produce a source file as a basis for yournew terminfo definition. For example, to create a variation of the vt100 terminfo definition, firstcapture the source output of uvtidc in a file. In the following example, the file is put in the UniVersesample directory, but it can go anywhere:

# cd /usr/uv/sample # /usr/uv/bin/uvtidc vt100 >my.vt100

Page 119: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Compiling terminfo definitions

119

After this command finishes, the file /usr/uv/sample/my.vt100 contains:

vt100|vt100-am|dec vt100,am, xenl, mir, msgr, xon, cols#80, it#8,lines#24, vt#3, bel=^G, cr=/r, csr=\E[%i%p1%d;%p2%dr,tbc=\E[3g, clear=\E[H\E[J$<50>, el=\E[K$<3>, ed=\E[J$<50>,cup=\E[%i%p1%d;%p2%dH$<5>, cud1=\n, home=\E[H, cub1=•,cuf1=\E[C$<2>, cuu1=\E[A$<2>, smacs=^N, blink=\E[5m$<2>,bold=\E[1m$<2>, rev=\E[7m$<2>, smso=\E[1;7m$<2>, smul=\E[4m$<2>,rmacs=^O, sgr0=\E[m^O$<2>, rmso=\E[m$<2>, rmul=\E[m$<2>,kbs=•, kcud1=\EOB, kf0=\EOy, kf1=\EOP, kf10=\EOx, kf2=\EOQ,kf3=\EOR, kf4=\EOS, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl,kf9=\EOw, kcub1=\EOD, kcuf1=\EOC, kcuu1=\EOA, cud=\E[%p1%dB,cub=\E[%p1%dD, cuf=\E[%p1%dC, cuu=\E[%p1%dA,rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, rc=\E8, sc=\E7, ind=\n,ri=\EM$<5>,sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t^N%e^O%;,hts=\EH, ht=, ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp,kc3=\EOn,acsc=''aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,enacs=\E(B\E)0, kent=\EOM, el1=\E[1K$<3>,#! uv kexit=10;13, kebs=8, at1=\E[H\E[J, at2=\E[H, at3=\E[J,#! uv at4=\E[K, at5=\E[5m, at6=\E[m, at8=\E[m^O$<2>, at9=•,#! uv at10=\E[A, at12=\E[m^O$<2>, at13=\E[7m, at14=\E[m,at15=\E[4m,#! uv at16=\E[m, at17=\E[1m, at18=\E[m, at20=\E[m^O$<2>

This is the terminfo definition for a vt100 terminal with two associated names, vt100 and vt100-am. You should first change the name line so that any modifications you make do not overwrite theoriginal definitions. To change the name, modify the first line in the definition so that it has a uniquename, and eliminate any aliases:

my.vt100|Testing new terminfo for vt100

If you are creating a terminfo definition that does not match your base definition, make sure allthe capabilities you are not going to change match the capabilities of the terminal you are defining.Do this by checking the terminal’s manual against the definitions, or by testing the capabilitiesthemselves.

Compiling terminfo definitions

Use compilers tic (UNIX) and uvtic (UniVerse) to compile terminfo database entries fromsource into compiled format. UNIX tic compiles only the UNIX terminfo database, whereasUniVerse uvtic compiles UNIX and UniVerse. When you install UniVerse, you can specify that theterminfo entries shipped with UniVerse should be compiled. If you choose this option, only theUniVerse capabilities are compiled. To update the standard UNIX capabilities with those defined in theterminfo entries shipped with UniVerse, you must explicitly compile the terminfo.src file in thesample directory, using the -a option to uvtic

uvtic without the -a option compiles only the UniVerse capabilities into the UniVerse terminfodirectory located in the UV account directory. If you specify the -a option, uvtic compiles the UNIXcapabilities into the /usr/lib/terminfo and compiles the UniVerse capabilities into the UniVerseterminfo directory. The source files are compiled into standard binary file format.

Updating the whole terminfo directory

To update your terminfo database, perform the following steps.

Page 120: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 9: Configuring peripheral devices

120

1. Save all current terminfo entries for terminals not supported by UniVerse. Only terminals that arenot supported by UniVerse should be saved.# cd /usr/uv/sample # uvtidc terminal.name >> terminfo.src

2. Remove all remaining terminal definitions and set permissions for the terminfo directory to 755:# rm -rf /usr/uv/terminfo/* # chmod 755 /usr/uv/terminfo

3. Recompile the UniVerse terminal definitions. You should be logged on as a UniVerseadministrator to execute this command:# uvtic -v /usr/uv/sample/terminfo.src

4. Use the tiindex command to rebuild the terminfo index file:# tiindex

The tiindex command lists all terminal names available to the SET.TERM.TYPE UniVersecommand. You must rebuild this index file when you add or delete a terminal. You should belogged on as a UniVerse administrator to use tiindex.

Some UNIX systems support termcap. If your system is one of these, you need to modify the /etc/termcap file to reflect the changes in your new terminfo.

Adding or changing a single entry

To compile and test the new vt100 terminfo definition, you need to compile the UNIX and the UniVersecapabilities.

The -v option to uvtic allows error messages to be displayed to standard error. If you do not specify-v, unsupported capabilities are ignored. You should be logged on as a UniVerse administrator toexecute this command.

# /usr/uv/bin/uvtic -v -a my.vt100

Once you successfully compile the terminfo entry, test it in UniVerse and non-UniVerse environments.The best test for the non-UniVerse environment is usually the vi editor. A good test in the UniVerseenvironment is the system administration routines.

To test the entry in the example, do the following:

# TERM=my.vt100;export TERM# vi my.vt100# cd /usr/uv# bin/uv

In the UniVerse environment, you can set the terminal type to my.vt100 by using the SET.TERM.TYPEor TERM command.

Decompiling terminfo entries

One reason for decompiling a terminfo entry is to add UniVerse enhancements to an existing UNIXterminfo entry. If UniVerse BASIC programs or the system administration routines do not clear thescreen or present a meaningful display, you may have a terminfo entry that lacks the necessaryUniVerse enhancements.

The UniVerse terminfo decompiler can add these enhancements for subsequent compiling into theUniVerse terminfo database. For example, if you have a UNIX terminfo entry named svt100, youcan add UniVerse capabilities with the following sequence, which uses the -i option to generate sourcefor UniVerse capabilities:

# cd /usr/uv/sample

Page 121: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Making non-UniVerse terminfo entries compatible with UniVerse

121

# /usr/uv/bin/uvtidc -i vt100 > svt100.src# /usr/uv/bin/uvtic -v svt100.src

If you have several terminal definitions, or if you have enhancements to several definitions, youmay want to consolidate the modified definitions with the definitions shipped with UniVerse (inthe terminfo.src file in the sample directory), so you can install everything with one compile.The following example shows how to combine several source terminal definitions (my.vt100and svt100.src) with the default UniVerse terminfo source file (/usr/uv/sample/terminfo.src), update all the UNIX and UniVerse binaries, and rebuild the index of availableterminal types for the SET.TERM.TYPE command:

# cd /usr/uv/sample# cat terminfo.src my.vt100 svt100.src terminfo.nsrc# /usr/uv/bin/uvtic -v -a terminfo.nsrc# /usr/uv/bin/tiindex

Making non-UniVerse terminfo entries compatible with UniVerse

Decompile the entry (terminal name), then recompile it.

# uvtidc terminal.name | uvtic

Making all terminfo entries work properly with UniVerse

Decompile the whole terminfo directory, then recompile it.

# uvtidc ‘cut -f1 /usr/lib/terminfo/index‘ | uvtic -v

The terminfo utilities

On System V systems, in addition to the terminfo compiler tic, you can use the infocmp utility tocompare and print terminfo definitions. infocmp does not display the UniVerse enhancements toterminfo, but it is very useful in comparing terminfo and termcap entries.

The following table describes some of the options used by infocmp.

Option Description

-d Lists all capabilities that are different in both entries.-c Lists all capabilities that are the same in both entries. Unset capabilities are

ignored.-n Lists capabilities that are in neither entry. Use this as a quick check to see if

anything was left out of the description.

The following command compares a vt100 to a wy50:

$ infocmp -d vt100 wy50

This command produces the following output, which lists only the capabilities that are different:

comparing vt100 to wy50.comparing booleans.bw: F:T. (where bw is false (F) for vt100 and TRUE (T) for wy50)hs: F:T.mir: F:T.enl: T:F. . .

Page 122: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 9: Configuring peripheral devices

122

.csr: '\E[%i%p1%d;%p2%dr','NULL'.cub: '\E[%p1%dD','NULL'. . . .kcud1: '\E[B','\n'.kcuf1: '\E[C','\f'.kcuu1: '\E[A','^K'. . . .smacs: 'NULL','\EH^B'.smir: 'NULL','\Eq'.smkx: '\E[?1h\E=','NULL'.smso: '\E[7m','\EGt'.smul: '\E[4m','\EG8'.tbc: '\E[3g','\E0'.tsl: 'NULL','\Ez('.

On Berkeley systems, use uvtidc to get similar output.

UniVerse terminfo requirements

The UniVerse system administration menu requires the following terminfo characteristics in additionto the standard UNIX terminfo characteristics. These required capabilities also apply to otherproducts.

For more information, terminfo terminal capabilities, on page 283.

Customizing terminal capabilities while logged on

The UNIX stty command and the UniVerse PTERM (UNIX) command lets you set terminalcharacteristics while you are logged on.

UniVerse accounts, on page 55 discusses how to use these commands in the LOGIN entry. However,you can also use them directly at the terminal. See the UNIX Programmer’s Manual and UniVerseSystem Description for more details about the options available with these commands.

On System V systems, there is a special form of the stty command that is sometimes useful when aprogram dies and leaves a terminal in an inconsistent state:

$ stty sane

where sane resets all modes to reasonable values.

On Berkeley systems, you can use the reset command to reset the terminal. Type a linefeed (Ctrl+J)before and after you type reset because pressing Return does not always work.

% <Linefeed>reset<Linefeed>

Mapping terminals and auxiliary printersIf your system is running UniVerse with NLS mode enabled, you can assign a map to a terminal orauxiliary printer to convert UniVerse data from its internal storage format to an external character set.You can assign a terminal map by:

▪ Setting the system default in the uvconfig file

Page 123: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Mapping terminals and auxiliary printers

123

▪ Setting an entry in the terminfo file

▪ Using the SET.TERM.TYPE command

To set the default map for any terminal having no map assigned to it, set the NLSDEFTERMMAPconfigurable parameter. This parameter also sets a default map for any auxiliary printer attached to aterminal. For example:

NLSDEFTERMMAP ISO8859-1

To assign a map for a terminal, change the at80 setting in a terminfo entry. To assign a map for anauxiliary printer, change the at81 setting. For example:

at80=ISO8895-1at81=ISO8895-1

To override the default map on the current terminal or its auxiliary printer, use the SET.TERM.TYPEcommand.

For more information about terminal and auxiliary printer maps, see Rocket UniVerse NLS User Guide.

Page 124: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

124

Chapter 10: Managing printers and the UniVersespooler (UNIX only)

Use XAdmin to configure printers and administer the UniVerse spooler on UNIX servers.

To manage and configure standalone printers, see Configuring other devices, on page 112.

Managing the spoolerSystem printers are usually controlled by the system administrator. However, you can define asubset of printers as a printer group that can be controlled by users who do not have administrativeprivileges. Use the Spooler option from the Admin Tasks view to define printer groups.

Printer groups and the users allowed to access them are defined in the print_group file, whichis in the UniVerse spooler directory. The print_group file has a format similar to that of the /etc/group file. Each printer group is defined by a line in the print_group file. This line has thefollowing format:

ptr.group : user1,user2,user3,… : printer1,printer2,printer3,…

ptr.group (Field 1) is the name of the printer group. Field 2 contains the names of users who haveaccess to the printers in the printer group. Field 3 contains the names of the printers included in theprinter group.

Managing printers

When you open the Spooler view from the Admin Tasks view, you can use the options on the Printertab to start and stop a printer, specify whether jobs are queued, or mount a form. These options applyto the current printer displayed in the Printer field.

Defining a printer group

When you define a printer group, you enter a unique name for the group and specify the users andprinters that belong to the group. Each printer group must contain at least one printer and one user.

1. From the Admin Tasks view, double-click Spooler.2. Select the Printer tab, then click Printer Groups.

The Define Printer Group dialog box is displayed.3. Enter the name of the new group in the Printer Group field.4. In the Users in Group area, click Add.5. Select the users to add from the Users list, then click OK.6. In the Printers in Group area, click Add.7. Select the printers to add from the Printers list, then click OK.8. Click OK.9. Click Save, then click Close.

Adding users or printers to a printer group

Add users or printers to a printer group.

Page 125: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Removing users and printers from a printer group

125

1. From the Admin Tasks view, double-click Spooler.2. Select the Printer tab, then click Printer Groups.

The Define Printer Group dialog box is displayed.3. Select the printer group you want to modify from the Printer Group list.4. In the Users in Group area, click Add.5. Select the users to add from the Users list, then click OK.6. In the Printers in Group area, click Add.7. Select the printers to add from the Printers list, then click OK.8. Click Save, then click Close.

Removing users and printers from a printer group

Remove users or printers from a printer group.

1. From the Admin Tasks view, double-click Spooler.2. Select the Printer tab, then click Printer Groups.

The Define Printer Group dialog box is displayed.3. Select the printer group you want to modify from the Printer Group list.4. Select the user or printer that you want to remove from the list, then click Remove.5. Click Remove.6. Click Save, then click Close.

Deleting a printer group

Complete the following steps to delete a printer group.

1. From the Admin Tasks view, double-click Spooler.2. Select the Printer tab, then click Printer Groups.

The Define Printer Group dialog box is displayed.3. Select the group you want to delete, then click Delete. Confirm the deletion.

The printer group is removed.4. Click Save, then click Close.

Mounting or removing forms on a printer

Complete the following steps to mount one form on a printer.

1. From the Admin Tasks view, double-click Spooler.2. Select the Printer tab, then click Mount Form.3. In the Mount Form dialog box, enter the name in the Enter form name field, then click OK.

Note: Using XAdmin, you can mount only one form on a printer. Use the usa command tomount more than one form on a printer.

4. To remove all currently mounted forms from a printer, follow the steps to mount a form, but donot enter anything in the Enter form name field.

The UNIX shell command for mounting and aligning forms on a printer is as follows:

usa -p printer-F[a|d] formlist -a {#lines | filename}

Page 126: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

126

formlist is a list of form names separated by commas (no spaces before or after the comma). The -F option replaces the list of currently mounted forms with the new form list. -Fa adds the forms informlist to the current list. -Fd deletes the forms in formlist from the current list.

#lines is the number of lines of the next queued job to print. filename is the name of the UNIX file toprint.

Setting printer queuing options

Use the Allow Queuing check box on the Spooler → Printer tab to allow or disallow queuing on aprinter. When queuing is enabled, a check mark displays next to the option.

Starting and stopping printers

Use the Allow Printing check box on the Spooler → Printer tab to start or stop a printer. When aprinter is started, a check mark displays next to the option.

Controlling the print jobs

You can control print jobs by choosing options from the Job tab of the Spooler page. These functionsare enabled (active) only when you choose a print job from the Jobs list.

The following information displays for each entry in the Jobs list:

Column Description

Printer Shows the name of a chosen printer. You can select any printer from the list,which includes all the printers defined in the &DEVICE& file.

Job# The job ID number, assigned when the print job is created.Form Shows the name of a mounted form.Printer Status Displays the current state of the chosen printer (whether printing is enabled or

disabled).Queuing Displays whether queuing is enabled or disabled for the chosen printer.Job Description A description of the print job.User The name of the user who issued the print command.Pri The priority number of the print job. The lower the number, the higher the

priority.Form The name of an attached form on which the job must be printed. The same form

must be mounted on the printer.Size The size (in bytes) of the print job.Cps The number of copies to be printed.Status The current status of the print job. Hold indicates that the print job is being

held. Wait indicates that the job is queued. Active indicates that the print job iscurrently being printed. If the status is followed by ampersand (&), a copy of thisfile has already been printed. If the status is followed by an asterisk (*), the printfile will be held after being spooled.

Delay This field is blank if no delay has been set or if the delay period has beenexceeded. This field counts down the amount of delay time.

The following table describes the buttons you use to control selected print jobs.

Page 127: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Controlling the print jobs

127

Note: You can also perform many spooler administration functions from a UNIX shell, using thecommands usa and usm. For more information about these commands, see the UniVerse RocketUniVerse User Guide.

Button Description

Refresh Refreshes the Jobs list with current printer information.Displays the Modify Job Characteristics dialog box, which allows you to modify thecharacteristics of the chosen print job, such as changing the number of copies youwant printed, which pages to print, which lines to print, and the priority of a print job.The following options are available:Option Description UNIX commandNumber ofCopies

Specify the number of copies to print.Default is 1.

usm -n copies print.job

Pages to Print Specify the page where you wantprinting to begin and the page whereyou want printing to end. Default isAll.

usm -x start.page [-end.page] print.job.

Lines to Print Specify the line where you wantprinting to begin and the line whereyou want printing to end. Default isAll.

usm -y start.line [ -end.line]print.job.

SchedulePriority

Set the job priority. The highest jobpriority is 1 and the lowest is 255.

usm -P priority print.job

Time Delay Define the time at which you want aprint job to print.

usm -t delay print.job

Printer name Specify a printer to output to. usm -p printer print.jobForm Name Attach a form to a queued print job. usm -F formname print.job

Modify

Retain AfterPrinting

Retain a print file after is has beenprinted. The print file is retained inthe Hold state, which you can releaseor reprint later.

usm -q print.job.

Suspend Interrupts printing by suspending the chosenprint job. All other print jobs are queued until thesuspended print job is continued.

usa -p printer -b

Continue Continues printing a previously suspended print job. usa -p printer -cHold Puts the chosen print job in the Hold state. The

print job remains in the queue until it is released,reprinted, or killed.

usm -h print.job

Release Releases and prints a job in the Hold state. usm -r print.jobReprint Sets the Retain After Printing flag and releases a job

for printing.Kill Kills the chosen print job, removing it from the

queue.usm -k print.job

Page 128: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

128

Configuring the UniVerse spooler

The UniVerse spooler lets users share system printers. The spooler queues print files that are waitingto be printed to a specific printer and handle requests to print multiple copies of a file, to use specialforms, and to format print jobs for specific devices.

You can configure the spooler to specify items such as the location of the spooler directory, the orderof print jobs, response time, and more.

Note: To use the new settings, you must stop and restart the spooler by clicking Reset Spooler.

1. From the Admin Tasks view, double-click Spooler.2. Select the Spooler tab, then click Configure Spooler.

The Configure Spooler dialog box displays.

3. To move the spooler directory, enter a new path in the Spool Directory field. You can also useBrowse to search the system for a suitable path.The spooler directory path defines where spooled files are created. The system printerconfiguration file sp.config and the spooler queue log file usplog, are in this directory.The UNIX shell command to change the location of the spooler directory is usd directory,where directory is the new path for the spooler directory.

4. Select the Logging Enabled check box to enable logging to the error log file and the activity logfile. The default setting for this option is cleared (logging disabled).

5. Set the response time in the Time Value field to specify the number of seconds that the spoolerwaits for the system to respond to commands. The default is 10 seconds.

6. Select the Chronological Order check box to specify that print jobs are printed in first-in, first-outorder. The default setting is cleared (off).The UNIX shell command to change the print job order is usd -t.

7. To change the name or destination of the error log file, enter a new path in the Error Log Filefield. Use Browse to search the system for a suitable path. If this entry is the name of a directory,the default err.log file is used.

8. To change the name or destination of the activity log file, enter a new path in the Activity LogFile field. Use Browse to search the system for a suitable path. If this entry is the name of adirectory, the default act.log file is used.The UNIX shell command usd -L creates the default error and activity log files in the spoolerdirectory. To create the error log file in another directory, use usd -e path; to create theactivity log file in another directory, use usd -a pathname.

Page 129: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Diagnosing spooler problems

129

Diagnosing spooler problems

To begin tracing, edit the sptrace.conf file.

First line: trace activity category and level:

options=[A]n

Where A designates specific activities you want to trace and is a combination of m, s, and q, whichstand for memory, signal, and queue, respectively. If you omit A, all categories are traced (if n isgreater than 0).

n is an integer from 1-5 that controls tracing action levels, described in the following table.

Option Description

0 No trace.1 Signal received (SIGPIPE, SIGYTERM, and SIGUSR1).2 A specific error message during job dispatching.3 Detailed job dispatching activities for each and every printing job.4 Detailed message queue activities.5 More detailed usd activities, for example, received SIGALRM, a memory

activity summary is logged for each job, and so forth.

Displaying spooler log files

You can display the err.log file and the act.log file from the Spooler page.

About this task

When the UniVerse spooler is first installed, the spooler queue log file usplog is created. This filecontains information about the printers that exist on the system and print jobs queued for eachprinter.

You can create two additional spooler log files: a file that logs all spooler errors generated by thespooler process (err.log), and a file that logs all spooler and printer activity (act.log). By default,these two files are created in the UniVerse spooler directory, but you can specify any UNIX path forthese log files. See Configuring the UniVerse spooler, on page 128 for details about how to enablelogging and how to specify an alternative path for the log files.

Procedure

1. From the Admin Tasks view, double-click Spooler.2. To display the error log file, select the Spooler tab, then click Read Error Log.3. To display the activity log file, select the Spooler tab, then click Read Activity Log.

Note: In both cases, only the last 16k bytes of the log file are displayed.

Determining when a job was printed

If logging is enabled, you can see when a job was printed.

Page 130: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

130

1. From the Admin Tasks view, double-click Spooler.2. Select the Spooler tab, then click File Printed At.

The Printed At dialog box displays, as shown in the following example:

3. To find details for a print job, enter information in the Job Description, Job ID, and User Namefields, then click Find.The list is updated with each print job that meets the entered criteria. The following informationdisplays for each entry in the list:

Field Description

Job# The job ID of the printed file.UID The UniVerse user number of the user who issued the print command.File The description of the print job.Time The time the file was printed.Printer The printer used to output the file.

Starting, stopping, and resetting the spooler

You can start, stop, and reset the spooler from the Spooler tab. If the spooler daemon was stopped,you can restart it. When the spooler daemon starts, the usplog file is read and the queues arerestored.

1. From the Admin Tasks view, double-click Spooler.2. Click the Spooler tab.3. To start the spooler, click Start Spooler.

When the spooler daemon starts, the usplog file is read and the queues are restored.4. To stop the spooler, click Stop Spooler.

When you stop the spooler daemon, the spooler daemon process is terminated.5. To reset the spooler, click Reset Spooler.

When you reset the spooler, the spooler daemon is restarted, the sp.config file and usplogfile are reread, and the queues are reinstated to the last active state.

Page 131: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

About the UniVerse spooler

131

About the UniVerse spoolerInstallation and a general understanding of how the spooler works require a basic understanding ofUNIX.

What happens when the spooler is installed

The UniVerse spooler is installed as part of the initial UniVerse installation procedure. The followingthings occur when the spooler is installed:

▪ The UniVerse spooler directory (by default, /usr/spool/uv) is created.

▪ The UniVerse spooler daemon (usd) is installed.

▪ The UniVerse spooler queuing process command (usp) is installed.

▪ The UniVerse spooler administration command (usa) is installed.

▪ The UniVerse spooler queue modification command (usm) is installed.

▪ A spooler queue log file (usplog) is created.

▪ A system printer configuration file (sp.config) is created.

When the initialization script (/etc/uv.rc) is installed and run, any device lock files in the UniVersespooler directory are cleared, and the UniVerse spooler daemon starts.

Spooler directories and files

Several directories and files are associated with the UniVerse spooler.

The spooler directory

The default spooler directory, unless you change it by reconfiguring UniVerse, is /usr/spool/uv. This directory stores copies of all files queued for printing. It also contains files that control thespooler. The spooler directory must have rwxrwxrwx protection, which means that it can be read,written, and executed by the owner, group, and all others.

The system startup script /etc/uv.rc gets the spooler directory location from the configurableparameter UVSPOOL in the uvconfig file. You can move the spooler directory to a different partition.

Moving the spooler directoryYou may find that the /usr partition is too small to handle many large print files. You can solve thisproblem by moving the UniVerse spooler directory to a partition with more space.

Note: Before moving the spooler directory, make sure no users are using UniVerse or the spooler.

To move the spooler directory:

1. Change the UVSPOOL configurable parameter in the uvconfig file to the path of the newspooler directory.

Page 132: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

132

Note: This directory must already exist and have permissions rwxrwxrwx. Changing thisparameter directs print files generated in the UniVerse environment and by the usp commandto the specified directory.

2. Move all files in the /usr/spool/uv directory to the new directory.3. When no users are on the system, run uvregen and uv -admin.4. Shut down and start up the spooler using the Spooler pull-down menu options.

Spooler queue log file

A spooler queue log file called usplog is created in the spooler directory. usplog preservesinformation about the printers and the queued print jobs. As print files are created, their details arewritten to this file, overwriting the previous contents. The usplog file ensures that print files are notlost if the spooler fails or the system crashes.

Warning: Do not edit the usplog file. It contains information the spooler daemon uses when itrestarts after a normal or abnormal system shutdown. The information in usplog ensures thatthe spooler restarts in more or less the same state it was in when the system shut down.

You can create additional files to log spooler activity. See Configuring the UniVerse spooler, on page128.

System printer configuration file

A system printer configuration file called sp.config is created in the spooler directory. This filedescribes the device path and the characteristics of printers controlled by the UniVerse spooler.

When changes are made to the spooler configuration, the new settings are written back to this file.

The script (in the /etc directory) contains the spooler configuration settings and is used to invokethe spooler daemon at system startup.

On some machines it may be necessary to rebuild the kernel to allow the spooler to function properly.Check the Installation Guide to see if this applies to your system.

Spooler processes and commands

A single spooler process (daemon) automatically starts when the system starts.

You can use several UniVerse commands to perform spooler administration without using the Spooleroption from XAdmin. The spooler administration commands are usp, usa, and usm. You use thesecommands from a UNIX shell; you do not use them from the UniVerse environment. See the RocketUniVerse User Guide for more information about syntax and use.

Spooler daemon (usd)The UniVerse spooler daemon is installed in the bin directory of the UV account. This daemon isgenerally initiated at system startup and runs at all times in the background. usd monitors thespooler queue for files to be printed, manages the mounting of special forms on the system printers,and spawns copies of itself to print the files that are queued for active printers with the correctcharacteristics.

Page 133: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Spooler queuing process command (usp)

133

Spooler queuing process command (usp)The UniVerse spooler queuing process command resides in the bin directory of the UV account. Usethis command to queue files to be printed.

Spooler administration command (usa)The UniVerse spooler administration command resides in the bin directory of the UV account. Usethis command to enable or disable printing and queuing, to define printer groups, and to manage thespooler daemon.

Spooler queue modification command (usm)The UniVerse spooler queue modification command is installed in the bin directory of the UVaccount. Use this command to alter the characteristics of a job in a printer queue.

How the spooler works

Once the UniVerse spooler is installed and configured, it should be up and running. At systeminitialization, the UniVerse spooler daemon usd starts. usd checks for a message queue entry witha KEY of the form 0xaceaxxxx. If such a message queue entry exists, usd exits with the followingmessage:

usd: daemon: spooler already active!

If the message queue entry does not exist, usd creates it and then reads the printer configuration file(sp.config) and the usplog file, both from the UniVerse spooler directory.

When a UniVerse user sends a printing request to the spooler, a file is created in the UniVerse spoolerdirectory with a name in one of two forms. If the request was generated by a BASIC PRINT ONstatement or by using the LPTR keyword, the form is as follows:

uvnnnnnxxxxxxx

If the request was generated by the UNIX shell command usp, the form is as follows:

usnnnnnxxxxxxx

xxxxxxx is a control sequence generated by the spooler and nnnnn is the spool job number. When theprint file is closed, UniVerse sends a message via the message queue. The message states that the fileis available for printing, and indicates the number of copies, the form name, whether to delay printing,and so on.

usd uses the information in the message to build an entry in the usplog file and then tries to find anavailable printer that matches the print file characteristics. If it does not find one, usd queues the fileto the first printer defined in the sp.config file and puts it in the wait state.

If usd finds a printer, it creates a new process (a copy of itself) to print the file.

The copy of usd locks the printer by opening the device with the exclusive use bit set. If a lock fileis defined in field 5 of the printer definition in the &DEVICE& file, this lock file is used by default. If alock file is not specified, a zero-length file is created in the spooler directory. This new lock file hasthe name lock.xxx, where xxx is the base name of the device path. This file is used by the spoolerdaemon to coordinate different logical printers that are defined for the same physical printer.

The print file is printed. On completion, the copy of usd sends a message to the spooler daemon thatprinting is complete. It then removes the lock file, closes the device, erases the print file, and exits.

The spooler daemon removes the entry for that print job from the in-memory queue and from theusplog file, and attempts to schedule another print job to that printer.

Page 134: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

134

Both the usm and the usa commands work by sending a message to the spooler daemon throughthe message queue. The spooler daemon acts on the request and, if appropriate, sends an answeringmessage.

Using UniVerse spooler printer driversThe UniVerse spooler can use printer device drivers. Using a printer driver, you can use UNIXexecutables (such as driver scripts for PostScript) to print to devices connected to remote systems ona network, specify interface characteristics, and capture spool output.

Once you create a printer driver, you can use the XAdmin Devices Admin Tasks option to define it.Under Pathnames on the Printer Details dialog box, enter the path of the driver in the Driver field.

Using a UNIX executable as a driver

A common activity is to output to a PostScript printer. To do this, ASCII print files must be translatedinto PostScript directives. You can accomplish this by defining a driver. In the following illustration,the PostScript filter is a UNIX executable named /usr/bin/enscript, which processes the ASCIIfile presented on standard input to its PostScript equivalent on standard output.

In the following example, the sp.config interface characteristic settings are not shown:

Using the Bourne shell as a driver

In some cases the PostScript filter may require some parameters. For example, the filter may allowrotating the output for printing in landscape mode. You can put the filter command in a shell scriptfile and define the shell script as the driver. Normal UNIX process management establishes standardinput and output for the executable in the shell script. You must set permissions on the shell script fileto allow execution by a UniVerse Administrator. You can put the driver script anywhere you want.

The following examples show the contents of the sp.config file, the permissions that are set for thedriver script, and the contents of the driver script.

Contents of sp.config:

LP1 /dev/tty03 DRIVER /usr/spool/uv/landscape BAUD. . .

Page 135: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Using a driver for remote printing

135

A listing of the driver file shows execute permissions:

$ ls -l /usr/spool/uv/landscape-rwxr-xr-x 1 root 76 Jan 12 17:25 /usr/spool/uv/landscape

Contents of /usr/spool/uv/landscape:

/usr/bin/enscript -r

The following example shows the flow of data when a Bourne shell driver is used:

Using a driver for remote printing

Another common use of a driver is to route a print job to a printer on a remote system. In this examplethe printer LPREM is a printer on another system, systemb, networked using TCP/IP. The driver scriptuses the remote execution command rsh to have the UniVerse spooler on systemb print the file. Thecommand executed on the remote system is the UniVerse spooler usp command, which takes the fileon standard input and puts it into the spool queue on the remote system.

Contents of sp.config:

LPREM /dev/null DRIVER /usr/spool/uv/sysb.drvr BAUD...

Contents of /usr/spool/uv/sysb.drvr:

/usr/ucb/rsh systemb /usr/uv/bin/usp -e -h -F FORMNAME

The remote usp command should suppress headers because they are supplied by the local machinewith the user information.

Note: The remote or network shell command may be nsh, rsh, or remsh. If rsh is the remoteshell command, be careful to specify the path for rsh to ensure that the remote shell, not therestricted shell, is used. Both executables are named rsh.

Because no printing is actually done on the local system, the null device is specified as the path (/dev/null). You control which printer is assigned on nodename by using the appropriate usp option,-F or -p, in the shell script.

Page 136: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

136

Complex shell script drivers

A driver script can be as complex as needed as long as the relationship between standard input andstandard output are taken into account. In the following example, the output file is processed by thestream editor filter sed, changing all occurrences of ‘abc’ to ‘def’ before generating the PostScriptoutput. (The sp.config interface characteristic settings are not shown.)

Contents of sp.config:

LP1 /dev/tty03 DRIVER /usr/spool/uv/sed.drvr BAUD...

Contents of /usr/spool/uv/sed.drvr:

sed "s/abc/def/g" | /usr/bin/enscript

The following example shows the flow of data when a complex shell script is used:

Setting interface characteristics in a driver

Another use of a driver might be to set interface characteristics by using a shell script containing theUNIX stty command. The following example uses stty in a script to set the interface characteristics.Since the usd process does not set characteristics, the sp.config file does not specify any.

Contents of sp.config:

LP1 /dev/tty03 DRIVER /usr/spool/uv/stty.drvr

Contents of /usr/spool/uv/stty.drvr:

stty 9600 parenb parodd cs7 opost onlcr <&1cat -

The Bourne shell construct <&1 instructs the shell to assign standard input for the stty commandto the assignment for standard output. It is used because stty sets the characteristics on the deviceassigned to standard input. The driver script is executed by the spooler daemon with the printerdevice assigned as standard output. The <&1 construct lets you temporarily assign the correct printerdevice to standard input for the stty command. Another approach is to hard code the device addressin the script:

stty 9600 parenb parodd cs7 opost onlcr </dev/tty03

Page 137: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Capturing spool output

137

Capturing spool output

You can capture the print job to a file or print to several devices at once using the UNIX tee filter. Thefollowing example captures the spooled output in a file for examination after displaying the printerinterface characteristics on the system console at the time of printing.

Contents of sp.config:

LP1 /dev/tty03 DRIVER /usr/spool/uv/debug.drvr

Contents of /usr/spool/uv/debug.drvr:

stty -a <&1 > /dev/consolecat - | tee /tmp/check.spool.out

Using command line arguments in driver scripts

You can specify any of the following 11 arguments in a driver script:

Argument Description

$1 UNIX user ID of the user who spooled the job$2 Job ID of the print job$3 Size of the print job in bytes$4 Job description$5 Form assigned to the print job$6 UniVerse printer name$7 SETPTR (UNIX) line length$8 SETPTR (UNIX) page length$9 SETPTR (UNIX) eject flag (1 = EJECT, 0 = NOEJECT)Shift the argument stack down to reference the following two arguments:$1 SETPTR (UNIX) banner flag (1 = print banner, 0 = suppress banner)$2 SETPTR (UNIX) USEROPTS options

These arguments can be useful for printing across a network. Using a convention that the form nameis the remote node name and the printer name is set to the desired form name on the remote node,the following shell script would route the job to the desired queue on the remote machine.

Note: rcmd is a UNIX TCP/IP remote execution command that may be spelled differently ondifferent machines.

Contents of /usr/spool/uv/remprint.drvr:

/usr/bin/rcmd $5 usp -F $6 -h -e

Using the UNIX spooler with the UniVerse spoolerThe System V UNIX spooler lp(1) command assumes it is the only process using the printers. Thismeans that lp checks only itself to make sure it is not using a printer before it sends the printeranother job. If another process, such as the UniVerse spooler, is using the printer, the UNIX spoolercontinues to send jobs to the printer as if it were available, and the two print jobs can become mixed.

Page 138: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

138

This problem does not occur if you send a print job with the usd command after a print job has beensent with the lp command, because the UniVerse spooler always checks the status of a printer beforesending it a new print job.

The UniVerse spooler is designed to replace the UNIX spooler, so the best solution to this problem is tostop using the UNIX spooler. If you must use both spoolers, there are two ways to solve the problem:

▪ Change the UNIX lp interface file

▪ Add a DRIVER option to the sp.config entry

Changing the UNIX lp interface file

Change the UNIX lp interface file so it uses the same external locking file as the UniVerse spooler.There is one lp interface file for each print device that lp recognizes in the /usr/spool/lp/model directory. Add the following five lines to the beginning of each lp interface file:

while [-f /usr/spool/uv/lock.ttyxx]dosleep 5doneecho > /usr/spool/uv/lock.ttyxx

ttyxx is the printer name defined in the sp.config file. These lines cause the spooler to wait untilthe lock file for the device is removed. The spooler then creates a lock of its own and proceeds withthe print job. At the end of the print job the lock file must be removed. This will be done if you add thefollowing line just before the exit(0) line in the lp interface file:

rm /usr/spool/uv/lock.ttyxx

Adding a DRIVER option to the sp.config entry

Add a DRIVER option to the sp.config entry that invokes the System V UNIX spooler. A copy of theprint job is put in the UNIX spooler queue and printed by the UNIX spooler. The proper concurrencycontrol is maintained as long as the lp spooler is not set up with multiple destination queues definingthe same device.

Troubleshooting the spoolerThe most common causes of spooler failure are as follows:

▪ A driver process or a usd copy has not terminated correctly and is locking a resource.

▪ The print file characteristics or the printer configuration is specified incorrectly.

You can fix these problems using the Spooler Admin Tasks option in XAdmin, or by using UNIX shellcommands.

Printing problems

This section describes possible causes (and solutions) when jobs do not print.

Page 139: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Spooler is not running after UNIX upgrade

139

Spooler is not running after UNIX upgrade

UniVerse and UNIX are initialized by rc scripts in the /etc directory.

When the UNIX environment is upgraded, the UNIX installation processes may replace the rc scriptwith one that initializes the new UNIX environment. If that is done in a way that does not preserve userchanges in the old rc script, neither UniVerse nor the spooler are initialized. The simplest remedy is toreinstall the group MAIN from the initialization tape. This requires reauthorization of the license.

When UNIX is upgraded, you must tune the kernel as it was before the UNIX upgrade. Insufficientkernel space for message queue parameters may allow initialization of the UniVerse environment(although not the full complement of users), but not of the spooler. Retune the kernel, reboot, andsave or record the key UNIX tunable parameters before upgrading the operating system.

The spooler daemon will not start

There are many reasons why the UniVerse spooler daemon (usd) does not start. Check for thefollowing causes.

Message queue facility incorrectly tuned

If you have recently performed a UniVerse installation or upgraded UNIX, it is possible that the UNIXmessage queue facility is incorrectly tuned. See Printing problems, on page 138.

Missing files after moving the spooler directory

If you have moved the spooler directory, check that you have performed all the steps outlined inMoving the spooler directory, on page 131.

Verify that the spooler directory has sufficient permissions. All users need permissions to write printfiles into the spooler directory. The permissions should be as follows:

# ls -ld /usr /usr/spool /usr/spool/uv drwxr-xr-x 33 root 2048 Apr 11 14:34 /usr dr-xr-xr-x 17 root 2048 Sep 1 12:29 /usr/spool drwxrwxrwx 2 root 2048 Sep 1 17:35 /usr/spool/uv

If you see the following messages in the error log file, it is likely that the sp.config file or theusplog file is missing:

usd: daemon: cannot find sp.configusd: cannot open daemon log file (usplog)

If the sp.config file does not exist, follow these steps to recreate it:

1. In XAdmin, from the Admin Tasks view, select Devices.2. Click the Printers option.3. Double-click a device to display the details of a defined printer, but do not make any changes

(unless you need to).4. Click OK. A new sp.config file is created, containing the definition for the printer you chose to

view.5. Repeat these steps to add other printer definitions.

If usplog is missing, log in as a UniVerse administrator and recreate it by issuing the following UNIXcommands from a system prompt:

# cd /usr/spool/uv# echo z > usplog

Page 140: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

140

# chmod 600 usplog

Message:***Warning: Requested Lock File Already Exists

Message: ***Warning: Requested Lock File Already Exists

The UniVerse spooler uses a lock file to indicate that a device is in use. When a printer serves multipleprinter queues, the lock file for the device may exist because of activity on a different queue. Thiswarning message occurs when:

▪ A print job is ready for a queue

▪ The queue does not have an active print job

▪ The lock file exists because the device is servicing another queue

Suspending an active print job may fail to remove the lock file. If you try to kill the print job or directit to another queue, this will not remove the lock file. In this case, remove the lock file with the UNIXcommand:

# rm /usr/spool/uv/lock.xxx

lock.xxx is the name of the lock file. If you are not using the default spooler directory, replace /usr/spool/uv with the path of your spooler directory.

Jobs in wait state will not go active

There are many reasons why a job in the Wait state does not go Active. Check for the followingpossible causes.

Disabled printing

If printing has been stopped for a printer, the print jobs are not printed until the printer is restarted.Check the Printer Status field in the Spooler dialog box. If the status is Disabled, from the Printermenu, select Allow Printing. A message box appears. Click OK to start the printer.

Verify that both printing and queuing are turned on for the print queue. SPOOL -LIST should showP: on Q: on in each queue that should be printing. To turn on printing and queuing, enter thefollowing at the UNIX shell prompt:

# usa -p print.queue +o# usa -p print.queue +q

Suspended print job

If a print job has been suspended, the other print files in that queue are not printed (made active) untilthe suspended job is continued or killed.

In the following example, the status for a suspended job is susp:

# usaPrinter: lp Q: on P: on Form:Job # Job description User name Pri Forms Size CpsStatus Delay00020 sp.config root 30 118 1susp00021 passwd root 30 3718 1wait

Page 141: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Mismatched form names

141

To free up such a queue, use the following UNIX shell command to put the suspended job into a holdstate:

# usm -h job.no

Mismatched form names

If you are using forms, you must ensure that a form mounted on the printer matches that specified fora print job. If the form names do not match, or if you have specified a form for the print job, but it isnot mounted on the printer, the print job will never go active.

Note: Form names are case-sensitive.

Check the Form field on the Spooler window and the Form column for a print job. If these do notmatch, do one of the following:

▪ Change the form on the printer. See Configuring printers (UNIX), on page 109.

▪ Change the form associated with the print job. See Changing print job characteristics, on page251.

The spooler initiates a print job when all the job characteristics match. The UniVerse SPOOL -LISTcommand displays both the form on the printer and the form associated with the print job:

Particular print queue was specified

If the print job was spooled to a particular print queue with SETPTR,,,,,AT PRINTER name, it does notprint on another queue unless it is redirected. To direct a print job to a different queue:

1. Select the print job from the Jobs list and click Modify. The Modify Job Characteristics dialog boxappears.

2. Select a different printer from the Printer Name drop-down list.3. Click OK.

Or use the following UNIX shell command:

# usm -p new.queue job.number

Jobs in active state do not print

If print jobs in the active state do not print, you need to verify that the printer is online.

The port could be hung or it could be in use by the UNIX spooler. You cannot check this using XAdmin.Enter the following UNIX commands at the system prompt:

# stty -a </dev/tty.device# cat >/dev/tty.device

tty.device is the name of the printer device.

Page 142: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

142

If either command fails, something is wrong with the port. If stty hangs, an unfinished write on theport has filled the UNIX buffer and has not completed. Until the UNIX driver buffer clears, stty cannotinterrogate the port. If the cat command fails, the port has a problem.

Spool -LIST and usa hang

The spooler message queue ID is 0xacea0207. If the correct message queue exists, the commandsSPOOL -LIST and usa put their request in the message queue and wait for a reply. The spoolermust be running to respond.

Verify that usd is not swapped out. Over time, the UNIX scheduler may lower the priority of a daemonprocess as the quantity of resources consumed grows. Some UNIX implementations give priority tointeractive sessions at the expense of processes not associated with a terminal. A busy machine maypreempt the spooler from getting the resources needed to respond to a request.

The UNIX ipcs -qa command indicates the maximum bytes available in the message queue in theQBYTES column. If there is insufficient space in the message queue to construct a reply message, thedaemon ceases to function. This condition requires killing and restarting the spooler. Retune the UNIXkernel to enlarge the message queue space.

The spooler daemon times out when a bad port fails to open. If the spooler hangs trying to opena bad port, the CBYTES increases as more spooler requests are entered. Use the UNIX ipcs -qacommand to monitor CBYTES. At 10-second intervals, the timer expires and gives the spooler a chanceto service other requests. Another ipcs -qa command should show a reduction in the number ofbytes outstanding in the message queue. Using the UNIX process status command ps, interrogate thestate of usd.

If usd is not consuming CPU resources, it may be hung waiting for a bad device. Investigate theassociated device from the ps command. See if the device responds to the following:

tty.device is the name of the printer device.

Driver not found

When the spooler tries to print a job on a queue that specifies a nonexistent driver, the following errormessage may appear in the error log file:

***Error: Unable to open printer driver. Verify that the driverdefined in the sp.config file exists, then re-enable printer (usa+o -p printer)

If you see this error, you need to disable the printer, check that the driver file exists, and then reenablethe printer.

To disable printing, from the UniVerse Spooler menu, click Printer, then click Allow Printing.

To check that the driver exists:

1. In XAdmin, from the Admin Tasks pane, select Devices.2. Click the Printers option.3. Double-click the printer generating the error from the Printers list.4. Check the entry of the Driver Pathname field by clicking Browse.5. Click OK to save the printer settings.

To enable the printer, open the Spooler page from XAdmin's Admin Tasks pane, and select the Printertab. Select the Allow Printing check box.

If the spooler directory has been moved and fully qualified paths are used in the sp.config file, thespooler daemon searches in the wrong place for the driver. Conversely, if fully qualified paths are not

Page 143: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Printer configuration changes do not take effect

143

used in sp.config and the driver remains in the original directory, the spooler searches in the newspooler directory for the drivers.

Printer configuration changes do not take effect

For printer configuration changes to take effect, the spooler must be instructed to read thesp.config file. This can be done by stopping and starting the spooler.

To stop the spooler, from the UniVerse Spooler menu, click Spooler, then click Stop Spooler. Amessage box appears. Click Yes.

To start the spooler, from the UniVerse Spooler menu, click Spooler, then click Start Spooler. Amessage box appears. Click Yes.

When the spooler is started, the sp.config file is read to use the new queues that have beenspecified or reconfigured.

Note: If you have removed a printer definition and restarted the spooler, the jobs queued on thatprinter are lost.

There are two options to the UNIX shell command usa that make the spooler reread the sp.configfile: -r and -R.

# usa -r

This command instructs the spooler to read the sp.config file, add new queues that have beenspecified, and change those that have been reconfigured. It does not remove a queue from the currentqueue configuration if it has been removed from the configuration file. This allows new queues tobe added while old queues finish operation. When the spooler is started later, the old queues will begone.

# usa -R

This command instructs the spooler to read the sp.config file and make the current queueconfiguration match what is in the configuration file. Queues that have been removed from theconfiguration file are removed from the current queue configuration.

Getting incorrect printout

This section examines situations in which printing occurs but something is wrong with the output.

Specify SETPTR NOEJECT, but get a formfeed at end of report

Specify SETPTR NOEJECT, but get a formfeed at end of report

This is probably a printer issue or a cabling problem. Laser and other sheetfeed printers exhibit thissymptom.

To demonstrate that the spooler is not supplying the extraneous formfeed at the end of the print job,set up a print queue in the sp.config file:

MYQUEUE /tmp/file FORMS MYFORM

Set up the print file and print to it. The file /tmp/file contains the image of the print file when thespooler and UniVerse are done with it. Create a driver script containing the following lines:

touch /tmp/file chmod 666 /tmp/file

Page 144: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

144

usa -R usp -F MYFORM -e /etc/passwd

The touch command creates the file. chmod gives the file read and write permissions. usa rereadsthe spooler configuration, and usp prints the file /etc/passwd.

Use UNIX vi to look for ^L at the end of the file. If the formfeed character is not present, it is beingsupplied by the physical device.

If the formfeed character is at the end of the file, it is coming from the UniVerse environment. After theSETPTR NOEJECT was specified, another SETPTR was executed. The subsequent SETPTR needs tospecify the NOEJECT or the NODEFAULT option. NODEFAULT indicates that all current SETPTR settingsshould be retained except those explicitly changed. Omitting NODEFAULT causes SETPTR to use thecurrent system defaults.

As UniVerse Administrator in the UV account, you can use SETPTR on channel 0 with any desiredsettings. Issuing SETPTR.DEFAULT makes these settings the system defaults for all users on all printchannels. If SETPTR.DEFAULT is issued before the SETPTR on channel 0, the SETPTR default settingsare restored to those that shipped with the UniVerse license.

Note: Specify SETPTR NOHEAD, But Still Get Header is a variation of the same problem.

Specify SETPTR NOHEAD but still get header

This is a variation of the previous problem (Specify SETPTR NOEJECT, But Get a Formfeed at End ofReport).

Print lines do not return to the left side of the page

The sp.config entry for the queue needs to specify OCRNL to change newlines or linefeeds intolinefeed and carriage return on output. In addition, OPOST or LITOUT must be specified to actuatepostprocessing. A UNIX environment uses one or the other. The incorrect one will not work.

Postprocessing can be appropriate for parallel printers as well as serial devices. These parameters canalso be specified in a driver with an stty command. Insert the appropriate line for your system at thebeginning of the driver:

stty -a ocrnl opost <&1 (SysV)

or

stty -a -nl -litout <&1 (UCB)

If you specify other parameters after these, make sure all of them are correct for the particular UNIXimplementation of the stty command. An incorrect parameter can cause parameters that follow it tobe ignored.

Missing pages, lines, or characters

If you are missing pages, lines, or characters in the printout from the spooler, it is likely that buffers arebeing overrun in the printer. Check for a protocol problem. The UniVerse spooler can use XON/XOFF orDTR, which is set when you define a printer device.

If XON/XOFF is used, the sp.config queue should be specified with XON NOSTARTANY or with sttyixon -ixany in the driver. When the printer buffer fills, it emits a stop character, Ctrl-s. With XONNOSTARTANY specified, the UNIX driver does not send additional characters until the printer emptiesenough of its buffer and emits a Ctrl-q.

Page 145: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Jobs do not print in first-in first-out order

145

If XON STARTANY ON is specified, the UNIX driver sends additional characters to the printer if anycharacter is received from the printer. Sometimes the driver is slow to respond and continues sendingcharacters to the printer for a time before pausing. The printer buffer can fill completely, and theprinter emits another Ctrl-s to get the driver to stop sending characters. With STARTANY ON, thesecond Ctrl-s is recognized as a signal to start transmitting additional characters. These are lost.

If these corrections do not solve the problem, verify the cabling.

Jobs do not print in first-in first-out order

The spooler normally prints smaller jobs first. To print jobs in first-in, first-out order, select theChronological Order check box in the Configure Spooler dialog box.

Print jobs are intermixed

If you have two different printer definitions that have the same device path, it is possible to definetwo different lock files to use. Because the lock files are different, the locking semaphore mechanismfails, and the two queues can simultaneously print to the same device. As a result, the print jobs areintermixed.

To prevent this from occurring, avoid using two different lock files for a single device. You can correctthis problem in two different ways using the Devices option in XAdmin.

1. In XAdmin, from the Admin Tasks pane, select Devices.2. Click the Printers option.3. Double-click a device to display the details of a defined printer.4. Do not specify a lock file in the printer definition. The lock file created will be constructed from

the device name, resulting in a single lock file used by two queues.5. Edit the printer definitions so that the entry for the lock file is the same.

SP.ASSIGN (UNIX) can try to gain exclusive use of a device. To avoid this, you can specify lock filesin the &DEVICE& entry for the device. These must be fully qualified paths. If they are not, the lockfile is created in the directory of the account from which the SP.ASSIGN command is issued. IfSP.ASSIGN is issued by two users in different accounts, the two lock files will not collide. The twousers gain apparent exclusive use of the single device.

Frequently asked questionsQuestion: How do I use the UNIX and the UniVerse spoolers together?

Using the UNIX spooler with the UniVerse spooler, on page 137 describes how to print to the samedevice from both UNIX and UniVerse spoolers. The lp model script is modified to respect the UniVerselocking protocol, the lock.device file.

Question: How can I print to other machines on my network?

Using a driver for remote printing, on page 135 describes how to print to other printers on thenetwork.

Question: How do I keep a log of print jobs and printing problems?

See Configuring the UniVerse spooler, on page 128 for details on how to create and maintain spoolerlog files.

Log files grow. If logging is enabled, remember to purge the files occasionally, or turn off logging whenthe information is no longer needed.

Page 146: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 10: Managing printers and the UniVerse spooler (UNIX only)

146

You can use an alternative to spooler logging for one queue that uses a driver script. The followingdriver captures start and stop times for a print job and can be modified to do more:

echo start 'date' >> logfile cat - echo stop 'date' >> logfile

Page 147: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

147

Chapter 11: Backing up and restoring filesUsers can accidentally remove their files or lose open files when the system crashes. It is possible todestroy an entire file system because a user has not backed up their files. To protect against suchproblems, you should regularly back up all disk files to an offline storage medium.

How frequently you back up your files depends on how many files users create or change in a specifictime span, and on how much data you can afford to lose.

This chapter first suggests some backup strategies, which you can adopt or modify as needed. It thendescribes the file backup and restoration procedures.

Backup strategiesYou should design a backup strategy that suits your needs. You must weigh the trade-offs between thepossibility of losing data and the amount of time it takes to back up and restore files.

The backup strategies described here assume you are using the UVBackup and UVRestore windows ofXAdmin, or the uvbackup and uvrestore commands from the operating system level.

UniVerse provides three kinds of backup:

▪ Daily

▪ Weekly

▪ Full

In daily and weekly backups, you back up only new or modified files. In full backups, you back up allfiles.

On an active system you might do a full backup of all files weekly in conjunction with daily backups.On a less active system you might do a full backup monthly, followed by daily and weekly backups.

A full backup copies all specified directories and files to a magnetic tape. You keep this backup tape,perhaps for several months, so you can restore the system to the state it was in during any given week(or month).

Page 148: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 11: Backing up and restoring files

148

Backing up individual files

On a smaller system with only a few users, you might want users to back up their own important files.Users can use operating system commands or the UniVerse T.DUMP command before they log off orat appropriate intervals. With this strategy you might do a full backup only once a month.

In addition, you might want to back up a particular file, directory, or UniVerse account at a user’srequest—for example, when a project requiring many related files is completed, you can back up thosefiles and then remove them from the system. Or a user might ask that all files in a certain directory bebacked up at some particular checkpoint.

Ways to back up and restore filesYou can choose among three methods to back up and restore files:

▪ Use the UVBackup and UVRestore views of XAdmin to back up and restore the entire system, thecontents of UniVerse account directories, or individual files.

▪ Use the T.DUMP and T.LOAD commands to back up and restore selected records from UniVersefiles.

▪ Use the uvbackup and uvrestore commands from the operating-system level on UNIX oran MS-DOS window on Windows to back up and restore specified directories, UniVerse files, andoperating system files.

Preserving the integrity of your data

When you use operating system commands such as cpio, tar, or backup to back up your files, youcannot guarantee either the physical or the logical integrity of your backed-up data, unless no otherusers are logged on.

When you use the UVBackup window, the uvbackup command, or T.DUMP to back up files, thephysical integrity of your backed-up data is assured.

Page 149: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Backing up files with XAdmin

149

If you want to guarantee the physical and the logical integrity of your backed-up data, use theRecoverable File System (RFS). For more information, see Administering the Recoverable File System.

Backing up files with XAdminUse the Backup option from the Admin Tasks view to back up files to disk or tape.

1. From the Admin Tasks view, double-click Backup.The Backup Device window is displayed.

2. To backup to a Disk device, select Disk device, click Next, and then complete the followingsteps:a. In the Backup File field, enter the full path to the file to which you want to back up your

data, or click Browse to locate the file.b. Click Next.

3. To backup to a Tape device, select Tape device, click Next, and then complete the followingstep:a. Select one or more devices from the Available Devices list (this list contains all the tape

devices defined in the &DEVICE& file) and click Add. The chosen devices are listed in theSelected Devices list.The order of devices in this list determines the order that they are used. You can reorderdevices in this list by dragging and dropping them. To remove a device, select it from theSelected Devices list and click Remove.

If your backup does not fit on a single tape, you need to specify how to continue the backup.How multiple tapes are used for backup is determined by the order of devices in this list. Formore information, see About backing up files to tape.

4. Select whether to create a Full backup, a Weekly backup, or a Daily backup, and then click Next.5. Select the level to report on the screen during the backup by selecting the appropriate option:

▪ File Level: The paths of the files are displayed on the screen during backup.

▪ Item Level. The paths of the files are displayed, and for UniVerse hashed files, the names ofrecords also display.

All reported output displays in the UniVerse Command Output window. Click Next.

6. On the Backup Parameters page, enter a value in the Block Size field. It must be a multiple of 512.You can also use the arrows to increase or decrease this setting. The default setting is 8192.

7. Enter a short description of the backup in the Backup Label field. This description helps toidentify the backup image when you restore the data.

Note: Do not use single or double quotation marks in the description.

8. To select what to back up from the Option list, complete the following fields:

Field Action

All UniVerse Accounts All the UniVerse accounts defined in the UV.ACCOUNT file are backedup.

A UniVerse Account &Subdirectories

The specified UniVerse account is backed up. Choose the accountfrom the Account list.

A File in a UniVerseAccount

The specified file from a UniVerse account is backed up. Select theaccount and file from the Account and File lists. If you want to backup the file dictionary (and not the file data), select the Dictionarycheck box.

Page 150: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 11: Backing up and restoring files

150

Field Action

A Directory &Subdirectories

The specified UNIX or Windows directory and its subdirectories arebacked up. Enter the name of the directory in the Pathname field, oruse Browse to search the system for the directory path.

Note: The items in the Selection list use paths on the server file system. These paths mustmatch the paths on the tape.

Click Next.9. On the Review Command and Finish page, review the command that UniVerse will use to back up

the files you selected. Click Finish to start the backup process.UniVerse displays information during the backup process and notifies you when the backupprocess is complete.

About backing up files to tape

If you have a single device in the Selected Devices list, the backup pauses when the tape is full. Thetape rewinds, and you are prompted to enter the name of a backup device to use.

Complete one of the following steps:

▪ Continue to use the same device. To use the same tape device, remove the first tape and load thenext tape, and enter the device name at the prompt.

▪ Choose to use a different device. To use a different tape device, make sure the tape is loaded andenter the name of the alternative tape device at the prompt.

If you have more than one device in the Selected Devices list, the backup starts using the firstselected device in the list. When a second tape is required, the backup continues using the nextselected device in the list.

For this to work successfully, you must make sure that you have ordered the devices correctly in theSelected Devices list, and that you have loaded the backup tapes. You can add or remove devicesusing the Add and Remove buttons and reorder them by dragging and dropping them to a newlocation in the list.

Restoring filesTo restore files from a backup, use the Restore option from the Admin Tasks view. You can restorefiles from disk or from tape.

1. From the Admin Tasks view, double-click Restore.The Restore Device window is displayed.

2. To restore a Disk device, complete the following steps:a. Check that the backup tapes have been mounted on the selected devices.b. Select Disk device, and click Next.c. In the Restore File field, enter the name of the file that contains the backup, or click Browse

to search the system for this file.3. To restore a Tape device, complete the following steps:

a. Select Tape device, and click Next.b. Select one or more devices from the Available Devices list (this list contains all the tape

devices defined in the &DEVICE& file) and click Add. The chosen devices are listed in theSelected Devices list.The order of devices in this list determines the order in which they are used during therestoration (if you backed up to multiple tapes). You can reorder devices in this list by

Page 151: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Restoring files

151

dragging and dropping them. To remove a device, select it from the Selected Devices listand click Remove.

4. Click Next.The backup details display. Before you can restore files, you must check the backup details.

If you are restoring from tape, the backup details for the first device in the Selected Devices listare displayed.

The following table describes the backup details:

Detail Description

Backup Date The date and time the backup was performed.Reel Number The tape number. If you backed up to a single tape or to a disk path, the

value displayed is 1. If you backed up to multiple tapes, this field displaysthe number of the tape.

Compression The level of compression during the backup. This feature is not supportedat this release, and so this field always displays False.

Image Type The backup type.Block Size The block size (in bytes) used for the backup.NLS on The state of NLS when the backup took place.Label The backup label. If you backed up the data using the Backup Admin Tasks

option of XAdmin, this is the text entered in the Backup Label field fromthere.

If the backup details are correct, click Yes. The UniVerse Restore page opens.5. To display the index of the backup image, click Index. The backup information displayed in the

index depends on the level of reporting you choose:

▪ None: Displays the backup details.

▪ File Level: Displays the paths of the files in the backup.

▪ Item Level: Displays the paths of the files, and for UniVerse hashed files, the record IDs.

6. Select what to restore from the Restore Options list. When you select an option, a list of accountsor files to restore displays. To add the name of an account or file, select it and click Add. Toremove the name of an account or file from the restore selection, select it and click Remove.The following table describes the restore options:

Field Action

Entire Image Restores the entire backup image.All Accounts in theUV.ACCOUNT File

Restores all the accounts listed in the UV.ACCOUNT file. Theaccounts (except the UV account) are automatically added to therestore selection.

Selected UniVerseAccounts

Restores accounts selected from those listed in the UV.ACCOUNTfile.

Files in a UniVerseAccount

Restores selected files from a UniVerse account. If you want to restorethe file dictionary (not the data file), select the Dictionary check boxbefore you click Add.

Records in a UniVerseFile

Restores selected records in a UniVerse file. Enter the record name inthe Record field and click Add. If you want to add a record from a filedictionary, select the Dictionary check box.

Selected Directory Restores selected UNIX or Windows directories. To add a directory tothe restore selection, enter a directory path in the Directory field, orclick Browse to search the system for a suitable directory. Click Add.

Page 152: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 11: Backing up and restoring files

152

After you choose what to restore, the record, file, or account details are listed under Selection atthe bottom of the window (except the Entire Image option). You can add or remove items fromthis list using the Add and Remove buttons. You can edit the list using the Rename button.

To edit an entry, select it from the list and click Rename. The Edit Restore Selection dialog boxopens. Use this dialog box to define a different item to restore from the backup, to specify analternative name or destination for the restored item, or both. This dialog box has two fields:▪ Search For: Contains the record, file, or account details of the item chosen from the Selection

list.

▪ Restore As: This field is empty when the dialog box displays.

To define a different item to restore, edit the Search For field. To specify an alternative name ordestination for the item to be restored, edit the Restore As field. Click OK to update the entry inthe Selection list.

If you edited the item in the Search For field, the new item replaces the original one in theSelection list. If you chose an alternative name or destination, the Selection list entry is updatedto include an equal sign between the original and new details.

Note: The Selection list items use paths on the server file system. You must be certain thatthese paths match the paths on the tape.

7. Complete the following fields to specify how to restore the files:

Field Action

Existing Files Only Restores only files that already exist in the target account. If you donot select this option, all files on the backup are restored, and anyfiles that do not exist in the target account are created.

Prompt BeforeRestoring

If you choose Item Level, this option prompts you to restore each filein turn. To restore a file, enter Y. The file is restored, overwriting theexisting file on disk. To skip a file, enter N. You are then prompted forthe next file in the Selection list. If you do not select this option, filesare restored to the chosen account without prompting.

Overwrite Disk Files Determines whether files from the backup overwrite existing filesin the chosen account, regardless of the last modification date. Ifyou select this option, the files on the backup overwrite the files onthe disk (if the names match). If you clear this option (the default),existing files are overwritten only if the files on the backup have thesame (or a more recent) last modification date.

8. Select how much detail you want to display on the screen during the restoration from theReporting section. Choose one of the following:

▪ None: No reporting is done, but you will be notified at the start and end of the restoration.

▪ File Level: The paths of the files are displayed on the screen.

▪ Item Level: The paths of the files are displayed, and for UniVerse hashed files, record IDs arealso displayed.

9. Click Finish.All the reports displays in the UniVerse Command Output window when restoration starts.

Page 153: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Using T.DUMP to back up UniVerse files

153

Using T.DUMP to back up UniVerse filesT.DUMP lets you write UniVerse files, including data files and dictionaries, from disk to tape. You canspecify selected or sorted records in a RetrieVe selection or sort expression. Before you use T.DUMP,you must assign the tape drive using ASSIGN. When you are done, release it with UNASSIGN.

The simplest form of the command is as follows:

T.DUMP filename

If you do not use any options, T.DUMP writes the specified data file to tape. If you want to save thedata file and the file dictionary, run T.DUMP for each file separately. T.DUMP puts an end-of-file markat the end of each operation.

Because T.DUMP is a RetrieVe command, you can specify selected or sorted records with a selectionor sort expression. For example, the following statement dumps all paragraph records in your VOC fileto tape:

>T.DUMP VOC WITH TYPE LIKE "PA..."

Using uvbackup to back up filesUse uvbackup from the operating-system level on UNIX or an MS-DOS window on Windows to savespecified files on a daily, weekly, or comprehensive basis. You can specify files on the command line orfrom standard input. Output from uvbackup goes to standard output.

Syntax

uvbackup {-d | -w | -f } [-filestat] [-notag] [-b blksize][-cachedetail] [-cmdfil filename] [-noindex] [-delay buffers][-l "labeltext"] [-limit buffers] [-rev7] [-rev8] [-rev93] [-rev94] [-rev95] [-rev102] [-s file] [{-t device} ...] [-v | -V] [- | pathnames][-compress | -encrypt mykey]

Note: The [- | pathnames] is applicable to UNIX platforms only.

The [-walk pathnames] is applicable to Windows platforms only.

Options

Specify each option separately, and precede each option with a hyphen.

Option Description

-d (Daily) Backs up records in specified UniVerse hashed files that have beenadded or changed since the last full, weekly, or daily uvbackup.

-w (Weekly) Backs up records in specified UniVerse hashed files that have beenadded or changed since the last full or weekly uvbackup. Weekly backupsback up any records that have already been backed up with the -d option.

-f (Full) Backs up all specified UniVerse and operating system files.-notag Prevents the update of the two bits in the flag word of each record that

determine the type of backup being performed. If a record indicates that ithas not been backed up by uvbackup, this option leaves the bits the waythey are, and the bits remain unchanged after the backup.

Page 154: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 11: Backing up and restoring files

154

Option Description

-b Specifies the block size in increments of 512 bytes. The default is 8192. Theminimum is 512, the maximum is defined by the configurable parameterBLKMAX.

-cachedetail Lists shared memory cache details.-cmdfil Specifies a command file that contains a list of file names to back up. Each

filename should be on a separate line in the command file.-noindex Disables automatic backup of secondary indexes with files.-delay Specifies the number of buffers to use before flushing the buffer to the

backup image. Generally, buffers is half the number of buffers specified bythe -limit option. The default buffers value is 15.

-l Specifies labeltext of up to 80 characters to identify the backup. You mustenclose labeltext in quotation marks. All characters are valid. uvbackupwrites this text in the user label portion of the Backup Image Header.

-limit Specifies the number of shared memory buffers to use. Prior to UniVerse12.1.1, the default value is 30 buffers, whose maximum size can be up to 128K (set by the -b option). Block sizes larger than 128 K automatically decreasethe number of shared memory buffers. To avoid using shared memorybuffers, set buffers to 1.

-rev7 Produces a backup in a format suitable for restoring to UniVerse release 7.-rev8 Produces a backup in a format suitable for restoring to UniVerse release 8.-rev93 Produces a backup in a format suitable for restoring to UniVerse release 9.3.-rev94 Produces a backup in a format suitable for restoring to UniVerse release 9.4.-rev95 Produces a backup in a format suitable for restoring to UniVerse releases

9.5.1 through 9.5.1C.-rev102 Produces a backup in a format suitable for restoring to UniVerse release 10.2.-s Specifies a file to which screen output is captured. You must also specify the

-v or -V option to use -s.-t On UNIX, specifies the device to which to write backup data. device can be

either a path or an entry in the &DEVICE& file. Use multiple -t options tospecify up to 10 devices. uvbackup writes to the first device specified, thenthe second, and so on.

On Windows, specifies that the output is directed to the named tape device.device can be either a path or an entry in the &DEVICE& file, for example,MT0. If you are backing up to disk, the file name you specify must alreadyexist as an empty file.

-v Displays paths. uvbackup displays all paths of files as they are backed up. Ifthere is an error, a message describing the problem appears.

-V Displays paths and record IDs. uvbackup displays all paths of files and, forUniVerse hashed files, record IDs as they are backed up. If there is an error, amessage describes the problem.

- UNIX only. Reads paths from standard input.pathnames UNIX only. A list of files to back up. Each file name must be the path of the

file.-walk pathnames Windows only. Generates a list of all the file paths to back up within

the directories specified in the pathnames list, including all files in allsubdirectories of the specified directories.

-compress Compresses the data as it is being written to the backup image. You cannotuse this option with the -encrypt option.

Page 155: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Specifying the file list

155

Option Description

-encrypt <mykey> Encrypts the data, using the specified key, as it is being written to the backupimage. This option uses AES-256 encryption. You cannot use this option withthe -compress option.

Specifying the file list

To specify the files you want to back up, enter their paths in the uvbackup command line.

On Windows systems, you can use the -walk option of the uvbackup command to specify all files inthe current directory and in all its subdirectories.

Using T.LOAD to restore UniVerse filesT.LOAD lets you restore files from tape that were saved with the T.DUMP command. Before you useT.LOAD, assign the tape drive using ASSIGN. When you are done, release it with UNASSIGN.

The simplest form of the command is as follows:

T.LOAD filename

If you do not use any options, T.LOAD copies all the records in the tape file assigned to magnetic tapeunit 0 to the data file on disk.

Use the MTU keyword to indicate a magnetic tape unit other than 0. The syntax is MTU mtu. The MTUkeyword uses a 3-digit numeric value (mtu). For details about the MTU keyword, see the UniVerse UserReference.

Using uvrestore to restore filesUse uvrestore from the operating-system level on UNIX or an MS-DOS window on Windows torestore specified UniVerse accounts, files, or records saved by a previous uvbackup procedure. Youcan also restore an entire system. The syntax is as follows:

uvrestore [-F pathname [ =newpathname] [R record [=newrecord]]] [Xpathname] [-b blksize] [-i [ b]] [+I] [-l] [-L] [-n] [-p] [-Pn ] [-rehash ] [-sfile] [-startb block] [{-t device } …] [-U] [-v | -V] [-verify] [- | imagepath] [-compress | -encrypt]

Specify each option separately. Precede each option with a minus sign.

You must specify the path of the restore image. You can specify the path of a device (such as /dev/rmt/0) or of a file. Append /* on UNIX or \* on Windows to filename to restore all files in a directory.If you do not specify any other options, uvrestore restores the entire backup image.

Note: Applicable to UNIX platforms only: uvrestore does not support reading from stdin.

Specifying files and records to restore

Use one or more -F options to restore one or more files. Be sure that pathname matches the pathsaved in the image.

Page 156: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 11: Backing up and restoring files

156

For example, if you used the find command to specify the file list for uvbackup, the ORDERS filemight be stored on the image as \uv\SALES\ORDERS (Windows) or /usr/SALES/ORDERS (UNIX);or as \ORDERS (Windows) or ./ORDERS (UNIX). To restore the first file, you would use the following -F option:

Windows: -F \uv\SALES\ORDERS

UNIX: -F /usr/SALES/ORDERS

To restore the second file, you would use the following:

Windows: -F .\ORDERS

UNIX: -F ./ORDERS

Use one or more -R options with one -F option to restore one or more records from a hashed file. Therecord ID must match the record ID saved in the image. For example, to restore records 10006 and10007 from the ORDERS file, use the following options:

Windows: -F .\ORDERS -R 10006 -R 10007

UNIX: -F ./ORDERS -R 10006 -R 10007

To restore a record from a type 1 or type 19 file, use the -F option (remember that records in type 1 andtype 19 files are implemented as operating system files). For example, to restore the program MYPROGfrom the BP file, use the following option:

Windows: -F .\BP\MYPROG

UNIX: -F ./BP/MYPROG

Excluding files to restore

Use one or more -X options to exclude one or more files from being restored.

Display options

Use the -i option to list the contents of the backup image without restoring anything. Use the -iboption to show the blocks in addition to the paths. (Use -ib with the -startb option to start restoringfrom a particular block.) Use the -L option to display the image label without restoring anything.

Use the -v option to list paths, or use the -V option to list paths and record IDs as they are restored. Usethe -l option to display the image label before restoring files.

Other options

Specifying the block size

Use the -b option to specify the block size. The minimum block size is 512, the maximum is defined bythe configurable parameter BLKMAX. The default is 8192.

Specifying the backup image source

Use the -t option to specify the device or file from which to read the backup data. You can use multiple-t options to specify a series of devices or files.

Page 157: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Other options

157

Specifying the starting block

Use the -startb option to specify the block to start restoring from. (Use -startb with the -ib option tostart restoring from a particular block.)

Restoration options

Use the -n option when you are restoring from a full backup image to prevent uvrestore fromcreating files automatically if they do not exist on disk. Use the -rehash option when you are restoringfrom a full backup image to force the rehashing of records as they are restored. Use the -U optionif you want uvrestore to overwrite disk files with the same names as those being restored. OnWindows systems, use the -nodrv option to strip the drive letter from restored paths so you can restorefiles onto a different disk.

Having uvrestore prompt you

Use the -p option if you want uvrestore to prompt you before restoring each file or record.

For full details about the uvrestore command, see the Rocket UniVerse User Guide.

For UNIX platforms, the x option reads from a tape. If you specify the name of a directory in the file list,tar copies all files in that directory and all of its subdirectories. For example, the following commandperforms a complete backup of /usr:

% tar c /usr

Note: Most versions of tar do not support multivolume backups.

Page 158: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

158

Chapter 12: Monitoring system activityOne of the more important jobs of the system administrator is to monitor activity on the system(such as disk use and CPU use) and to deal with bottlenecks and other potential problems beforethey impact users. This section describes ways to find out who is doing what in UniVerse and at theoperating-system level.

Listing active UniVerse processes and jobsTo view UniVerse processes, double-click Users from the Admin Tasks view in XAdmin.

The Users tab displays, as shown in the following example:

Interactive users

The following information displays for each user process:

Parameter Description

Pid The process IDUser Name The user’s login nameUser # The user’s UniVerse user numberPort Name The user type and UniVerse user number, for example, console:124Last Logged In The date and time the user logged onLast Command The last command the user issued (if known)

Background processes

The following information displays for each background process:

Parameter Description

Pid The process IDUser Name The user’s login nameUser # The user’s UniVerse user number

Page 159: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Listing UniVerse jobs with PORT.STATUS

159

Parameter Description

Printer Segment The address of the printer shared memory segmentLast Command The last command issued (if known)

Listing UniVerse jobs with PORT.STATUSThe UniVerse PORT.STATUS command is a diagnostic tool that lists currently active UniVerse jobs onthe system. The syntax is as follows:

PORT.STATUS [USER name] [PORT number] [DEVICE pathname] [PID process#][FILEMAP] [LAYER.STACK] [MFILE.HIST] [LOCK.HIST] [{ENABLE | DISABLE}LOCK.HIST] [ODBC.CONNECTIONS] [LPTR] [RUNNING] [SUSPENDED]

The PORT.STATUS command with no options produces a report that looks like this:

>PORT.STATUSThere are currently 5 UniVerse sessions; 5 interactive, 0 phantomPid.. User name. Who Port name.. Last command processed...........6002 walter 13 /dev/ttyp2 PORT.STATUS5047 cac 16 /dev/ttyp8 LIST CONTACTS <<I2,Enter vendor id>>5812 barbara 26 /dev/ttypd SELECT IB WITH DESC LIKE '...LOCATE...'5844 tamara 47 /dev/ttyq8 LIST IB LONG.DESC FIXED.AT.ANY5822 tamara 50 /dev/ttyq7 LIST IB LONG.DESC FIXED.AT.ANY

UNIX platforms: The “Who” column lists the port number, and the “Port name” column lists the devicepathname of the session.

Windows platforms: The “Who” column is not displayed, as it the same as the terminal number, andthe “User name” column lists the domain and the user name.

For complete details about PORT.STATUS, see the Rocket UniVerse User Guide.

Terminating a processYou can terminate a user or background process using XAdmin.

1. Double-click Users from the Admin Tasks view in XAdmin.2. To terminate a user process, select the user from the Interactive Users list.3. To terminate a background process, select the process from the Background Processes list.4. Click Logout.

At the confirmation message dialog box, click Yes. If you have chosen to terminate a user process,an attempt is made to log the user off the server. If you have chosen to terminate a backgroundprocess, the chosen process is immediately terminated

Examining shared memoryThe shared memory analysis utility lets you examine information in the disk and user sessions so youcan diagnose problems if the system hangs.

Note: Prior to 11.3.1, each user created their own printer shared memory segment. As of 11.3.1,the printer shared memory segments no longer exists and user sessions are used instead.

Page 160: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 12: Monitoring system activity

160

The disk shared memory segment is a global work area that must be present for UniVerse to work. Theuser session is local to each user. It stores user environment information, such as TERM settings andprinter channel attributes, that must be available to all processes a user creates.

Use the analyze.shm command from the operating-system level on UNIX or an MS-DOS windowon Windows, or use the ANALYZE.SHM command in UniVerse. See the following sections for moreinformation about these commands:

▪ analyze.shm, on page 160

▪ smat, on page 163

▪ ANALYZE.SHM, on page 166

The following sections describe the options available with these commands:

• Catalog shared memoryTo see the contents of catalog shared memory, use the -b option.

• UniVerse configurationTo see the UniVerse configurable parameters for the current UniVerse directory, use the -c option.The output is similar to CONFIG ALL.

• Dynamic file tableThe -d option displays the active dynamic (type 30) file control blocks.

• File lock tableUse the -f to lists all active file locks.

• User sessionsYou must be a UniVerse Administrator to examine the user sessions. Otherwise, you can examineonly your own user session.

• Semaphore tableThe -s option displays the information sorted by semaphore type.

• TuneablesThe -t option lists current configurable parameter values.

• Group lock tableThe -g option lists all active group locks.

• Update record lock tableUse the -r option to list all active record locks.

• User process control locksThe -u option displays all the user-controlled locks.

• General system informationTo see the remaining fields in the disk shared memory segment, use the -x option.

analyze.shm

Use analyze.shm as a diagnostic tool to examine information in the UniVerse shared memorystructure. Use analyze.shm from an operating system command prompt.

Note: analyze.shm is the same command as the smat command. smat is shorthand for"Shared Memory Analysis Tool" and is used at the operating system level. Use the ANALYZE.SHMcommand in the UniVerse environment to examine the disk and user sessions.

Page 161: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

analyze.shm

161

Syntax

analyze.shm {options}

You must specify at least one option and precede each option with a hyphen. Options are casesensitive and must be preceded with a hyphen.

Parameter Description

-a [userno] (All) Lists information generated by all options. userno specifies a usernumber. You must be UniVerse Administrator to use the userno argument.

-b (BASIC) Lists the status of all cataloged programs currently loaded in BASICshared memory.

-c (Configuration) Lists currently active authorization parameters.-d (Dynamic) Lists the status of all active dynamic file control blocks.-f (File) Lists all active file locks. The UniVerse LIST.READU command also

lists this information.-g (Group) Lists all active group locks. The UniVerse LIST.READU command

also lists this information.-L Lists all NLS locales in shared memory.-M Lists all NLS character set maps in shared memory.-n (Numbers) Lists raw, unformatted data for all table entries, including unused

entries.-p [userno] Display shared memory information for the specified user number. Requires

UniVerse Administrator privileges.-r (Readu) Lists all active record locks. The UniVerse LIST.READU command

also lists this information.-s (Semaphore) Lists the status of system semaphores. The

SEMAPHORE.STATUS command also lists this information.

Starting at 11.3.1, when Audit Logging is enabled, -s shows audit loggingdaemon semaphores. The following example shows the semaphores for anaudit of uvaudd:

ready 0 mlock 1 owner 0

The following example shows the semaphores for an audit of buffer 0:

mutex 1 owner 0fillOK 1 useOK 0 active 0

The first column is the semaphore name; the second column is the currentvalue of the semaphore.

Page 162: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 12: Monitoring system activity

162

Parameter Description

-s1 Displays each semaphore line with the following format:

id#nnnnnn #mmmmm 0 0 0

Where nnnnnn is the global semaphore ID starting from 0, and mmmmm isthe semaphore ID for each type.

At the end of the output, one of the following messages is displayed:

no semaphore set.one semaphore set.xxx semaphores set.

-s2 Displays held semaphores. For example:

$ smat -s2

Login State Netnode Owner Acquiredid#1549 # 0 1 0 1 Mon Oct 24 11:13:53 2016one semaphore set.

Optionally, if a semaphore has been held for over 2 seconds, that message isalso shown. For example:

$ smat -s2

Login State Netnode Owner Acquiredid#1549 # 0 1 0 1 Mon Oct 24 11:13:53 2016 (over 99 seconds)one semaphore set.

-t [0] (Tunables) Lists current configurable parameter values. 0 suppresses displayof the asterisk that indicates the parameter has been changed from thedefault.

-u (User) Lists the status of task synchronization locks. The UniVerseLIST.LOCKS command also lists this information.

-v You can change the SYNCALOC and UVSYNC uvconfig parameters whileUniVerse is running. Changes will take effect immediately without having torestart UniVerse. To do this, use the analyze.shm command with the -voption. Any parameter values that are changed will be displayed as shown inthe following example:

analyze.shm -v "UVSYNC=0" "SYNCALOC=0"UVSYNC = 0

In the previous example, UVSYNC was changed from 1 to 0 so the new valuewas displayed. Because SYNCALOC was already set to 0, no change wasmade and a new value was not reported.

Parameter changes made in this way are temporary and only apply to thecurrently running UniVerse run time and are discarded when UniVerse isstopped. To make the changes permanent, the uvconfig file must beupdated.

Page 163: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

smat

163

Parameter Description

-V You can change the SYNCALOC and UVSYNC uvconfig parameters whileUniVerse is running. Changes will take effect immediately without having torestart UniVerse. If you want to put the parameters to change in a file withthe new values in a file, use the -V option. The following example illustratesa configuration file showing that the parameters and their associatedvalues must be space delimited. Use of "=" as an assignment operator is notallowed in this context.

UVSYNC 1SYNCALOC 0

To apply the changes, use the following command:

bin/analyze.shm -V confparamsSYNCALOC = 0UVSYNC = 0

This will generate output for each parameter that is changed, however ifa parameter is not changed, then it will not be displayed, similar to the -voption.

Parameter changes made in this way are temporary and only apply to thecurrently running UniVerse run time and are discarded when UniVerse isstopped. To make the changes permanent, the uvconfig file must beupdated.

-w Only lists processes waiting for file locks or record locks.-x Lists general system information not displayed by the other options.-z Includes network licensed users, when used with -c and -x.

smat

Use smat as a diagnostic tool to examine information in the UniVerse shared memory structure. Usesmat from an operating system command prompt.

Note: smat is the same command as the analyze.shm command. smat is shorthand for "SharedMemory Analysis Tool" and is used at the operating system level. Use the ANALYZE.SHM commandin the UniVerse environment to examine the disk and user sessions.

Syntax

smat {options}

You must specify at least one option and precede each option with a hyphen. Options are casesensitive and must be preceded with a hyphen.

Parameter Description

-a [userno] (All) Lists information generated by all options. userno specifies a usernumber. You must be UniVerse Administrator to use the userno argument.

-b (BASIC) Lists the status of all cataloged programs currently loaded in BASICshared memory.

-c (Configuration) Lists currently active authorization parameters.

Page 164: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 12: Monitoring system activity

164

Parameter Description

-d (Dynamic) Lists the status of all active dynamic file control blocks.-f (File) Lists all active file locks. The UniVerse LIST.READU command also

lists this information.-g (Group) Lists all active group locks. The UniVerse LIST.READU command

also lists this information.-L Lists all NLS locales in shared memory.-M Lists all NLS character set maps in shared memory.-n (Numbers) Lists raw, unformatted data for all table entries, including unused

entries.-p [userno] Display shared memory information for the specified user number. Requires

UniVerse Administrator privileges.-r (Readu) Lists all active record locks. The UniVerse LIST.READU command

also lists this information.-s (Semaphore) Lists the status of system semaphores. The

SEMAPHORE.STATUS command also lists this information.

Starting at 11.3.1, when Audit Logging is enabled, -s shows audit loggingdaemon semaphores. The following example shows the semaphores for anaudit of uvaudd:

ready 0 mlock 1 owner 0

The following example shows the semaphores for an audit of buffer 0:

mutex 1 owner 0fillOK 1 useOK 0 active 0

The first column is the semaphore name; the second column is the currentvalue of the semaphore.

-s1 Displays each semaphore line with the following format:

id#nnnnnn #mmmmm 0 0 0

Where nnnnnn is the global semaphore ID starting from 0, and mmmmm isthe semaphore ID for each type.

At the end of the output, one of the following messages is displayed:

no semaphore set.one semaphore set.xxx semaphores set.

Page 165: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

smat

165

Parameter Description

-s2 Displays held semaphores. For example:

$ smat -s2

Login State Netnode Owner Acquiredid#1549 # 0 1 0 1 Mon Oct 24 11:13:53 2016one semaphore set.

Optionally, if a semaphore has been held for over 2 seconds, that message isalso shown. For example:

$ smat -s2

Login State Netnode Owner Acquiredid#1549 # 0 1 0 1 Mon Oct 24 11:13:53 2016 (over 99 seconds)one semaphore set.

-t [0] (Tunables) Lists current configurable parameter values. 0 suppresses displayof the asterisk that indicates the parameter has been changed from thedefault.

-u (User) Lists the status of task synchronization locks. The UniVerseLIST.LOCKS command also lists this information.

-v You can change the SYNCALOC and UVSYNC uvconfig parameters whileUniVerse is running. Changes will take effect immediately without having torestart UniVerse. To do this, use the analyze.shm command with the -voption. Any parameter values that are changed will be displayed as shown inthe following example:

analyze.shm -v "UVSYNC=0" "SYNCALOC=0"UVSYNC = 0

In the previous example, UVSYNC was changed from 1 to 0 so the new valuewas displayed. Because SYNCALOC was already set to 0, no change wasmade and a new value was not reported.

Parameter changes made in this way are temporary and only apply to thecurrently running UniVerse run time and are discarded when UniVerse isstopped. To make the changes permanent, the uvconfig file must beupdated.

Page 166: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 12: Monitoring system activity

166

Parameter Description

-V You can change the SYNCALOC and UVSYNC uvconfig parameters whileUniVerse is running. Changes will take effect immediately without having torestart UniVerse. If you want to put the parameters to change in a file withthe new values in a file, use the -V option. The following example illustratesa configuration file showing that the parameters and their associatedvalues must be space delimited. Use of "=" as an assignment operator is notallowed in this context.

UVSYNC 1SYNCALOC 0

To apply the changes, use the following command:

bin/analyze.shm -V confparamsSYNCALOC = 0UVSYNC = 0

This will generate output for each parameter that is changed, however ifa parameter is not changed, then it will not be displayed, similar to the -voption.

Parameter changes made in this way are temporary and only apply to thecurrently running UniVerse run time and are discarded when UniVerse isstopped. To make the changes permanent, the uvconfig file must beupdated.

-w Only lists processes waiting for file locks or record locks.-x Lists general system information not displayed by the other options.-z Includes network licensed users, when used with -c and -x.

ANALYZE.SHM

Use ANALYZE.SHM as a diagnostic tool to examine information in the UniVerse shared memorystructure.

Use the analyze.shm command from an operating system command prompt to examine the disk anduser sessions.

Syntax

ANALYZE.SHM {options}

Parameters

The following table describes each parameter of the syntax:

You must specify at least one option and precede each option with a hyphen. Options are casesensitive and must be preceded with a hyphen.

Parameter Description

-a [userno] (All) Lists information generated by all options. userno specifies a usernumber. You must be UniVerse Administrator to use the userno argument.

-b (BASIC) Lists the status of all cataloged programs currently loaded in BASICshared memory.

Page 167: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Catalog shared memory

167

Parameter Description

-c (Configuration) Lists currently active authorization parameters.-d (Dynamic) Lists the status of all active dynamic file control blocks.-f (File) Lists all active file locks. The UniVerse LIST.READU command also

lists this information.-g (Group) Lists all active group locks. The UniVerse LIST.READU command

also lists this information.-L Lists all NLS locales in shared memory.-M Lists all NLS character set maps in shared memory.-n (Numbers) Lists raw, unformatted data for all table entries, including unused

entries.-p [userno] Display shared memory information for the specified user number. Requires

UniVerse Administrator privileges.-r (Readu) Lists all active record locks. The UniVerse LIST.READU command

also lists this information.-s (Semaphore) Lists the status of system semaphores. The

SEMAPHORE.STATUS command also lists this information.

Starting at 11.3.1, when Audit Logging is enabled, -s shows audit loggingdaemon semaphores. The following example shows the semaphores for anaudit of uvaudd:

ready 0 mlock 1 owner 0

The following example shows the semaphores for an audit of buffer 0:

mutex 1 owner 0fillOK 1 useOK 0 active 0

The first column is the semaphore name; the second column is the currentvalue of the semaphore.

-t [0] (Tunables) Lists current configurable parameter values. 0 suppresses displayof the asterisk that indicates the parameter has been changed from thedefault.

-u (User) Lists the status of task synchronization locks. The UniVerseLIST.LOCKS command also lists this information.

-x Lists general system information not displayed by the other options.-z Includes network licensed users, when used with -c and -x.

Catalog shared memory

To see the contents of catalog shared memory, use the -b option.

The -b option is useful when you want to see what programs are in catalog shared memory, whichprograms are in use, and which are available. For each program loaded into shared memory, you seethe size, references, user count, and path.

Page 168: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 12: Monitoring system activity

168

Windows example:

C:\U2\UV>\u2\uv\bin\analyze.shm -b

State of shared memory: 4Number of programs loaded into shared memory: 1Size References Users Pathname 32169 0 0 c:/u2/uv/catdir/%aconvert.vocOverhead for filenames: 272Shared basic memory total bytes: 32584; bytes used: 32441;remaining: 143

UNIX example:

$analyze.shm -bState of shared memory: 4Number of programs loaded into shared memory: 3Size References Users Pathname933 0 0 /usr/uv/catdir/*gtar*GTAR.858/7.1895 0 0 /usr/uv/catdir/*gtar*GTAR.858/7.21055 0 0 /u1/gtar/PGMS.O/GTAR.9663.2

Parent topic: Examining shared memory

UniVerse configuration

To see the UniVerse configurable parameters for the current UniVerse directory, use the -c option. Theoutput is similar to CONFIG ALL.

Note that you also see the installed packages. Configurable parameters that have been changed fromthe default settings are flagged with an asterisk ( * ). Numeric fields are in decimal format (WIDE0 is inhexadecimal format).

Parent topic: Examining shared memory

Dynamic file table

The -d option displays the active dynamic (type 30) file control blocks.

Again, use the -n option to see unused slots in the table.

Windows example:

$ analyze.shm -d

Dynamic Files:Slot # Inode Device Ref Count Splitload Mergeload CurmodBasemod Largerec Filesp Nextsplit 0 42320 5 1 19 80 50 357 256 590748 102 1 26964 116 2 19 80 50 150 128 247476 23

UNIX example:

Dynamic Files:

Page 169: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

File lock table

169

Slot # Inode Device Ref Count Htype Split Merge Curmod Basemod Largerec Filesp Selects Nextsplit0 189743 12 10 20 80 50 19 16 162831364 0 4 1 190720 12 2 20 80 50 20 16 1628 32412 0 5 2 190893 12 10 20 80 50 19 16 1628 31364 0 4 3 191936 12 2 20 80 50 20 16 1628 32412 0 5 4 190927 12 70 20 80 50 19 16 1628 31364 0 4 5 192096 12 2 20 80 50 20 16 1628 32412 0 5 6 191841 12 12 20 80 50 20 16 1628 32412 0 5

Parent topic: Examining shared memory

File lock table

Use the -f to lists all active file locks.

You see the following fields when there are active locks or semaphores:

▪ i-node (Inode)

▪ device (Device ID)

▪ lock type (LTYPE)

▪ signature (Signature)

If there are no active locks or semaphores, you see the following message:

$ analyze.shm -fNo locks or semaphores active.

Parent topic: Examining shared memory

User sessions

You must be a UniVerse Administrator to examine the user sessions. Otherwise, you can examine onlyyour own user session.

The -p option displays a user’s session information followed by the segment’s ID in decimal (thehexadecimal format indicates the key of the segment).

Note: Prior to 11.3.1, each user created their own printer shared memory segment. As of 11.3.1,the printer shared memory segments no longer exists and user sessions are used instead.

If you specify the segment ID after the -p option, the ID is the shared memory key of that segment. Ifyou do not specify the segment ID, the segment of the shared memory analysis tool is used and yousee the default user session information.

Page 170: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 12: Monitoring system activity

170

The -p option displays a memory map showing used and unused sections for the user’s sessionsegment 609. The terminal driver (BDS or SYSV) is included.

Parent topic: Examining shared memory

Semaphore table

The -s option displays the information sorted by semaphore type.

Alternatively, you can use the SEMAPHORE.STATUS command in the UV account.

The semaphore types are as follows:

▪ File lock semaphores

▪ Group/update record lock semaphores

▪ Login semaphore

▪ Port status semaphore

▪ Dynamic file semaphore

These semaphores store information related to file concurrency control, login count, current activeUniVerse jobs, current split load and related statistics for dynamic files, and changes made to files forsystem backups. A sample report looks like the following:

Windows example:

$ analyze.shm -sFile access State Netcode Owner Collisions RetriesSemaphore # 1 0 0 3668 0 0 Semaphore # 2 0 0 3668 0 0 Semaphore # 3 0 0 3668 0 0 Semaphore # 4 0 0 3668 0 0 Semaphore # 5 0 0 3668 0 0 Semaphore # 6 0 0 3668 0 0 Semaphore # 7 0 0 3668 0 0 Semaphore # 8 0 0 3668 0 0 Semaphore # 9 0 0 3668 0 0 Semaphore # 10 0 0 3668 0 0 Semaphore # 11 0 0 3668 0 0 Semaphore # 12 0 0 3668 0 0 Semaphore # 13 0 0 3668 0 0 ...Login State Netcode Owner Collisions RetriesSemaphore # 1 0 0 3668 0 0

Port status State Netcode Owner Collisions RetriesSemaphore # 1 0 0 3668 0 0

Type 30 file State Netcode Owner Collisions RetriesSemaphore # 1 0 0 3668 0 0

Replication State Netcode Owner Collisions RetriesSemaphore # 1 0 0 3668 0 0Semaphore # 2 0 0 3668 0 0Semaphore # 3 0 0 3668 0 0

Page 171: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Tuneables

171

Semaphore # 4 0 0 3668 0 0

UNIX example:

$analyze.shm -sFile access State Netnode Owner Collisions RetrysSemaphore # 1 0 0 0 0 0 . . .Semaphore # 23 0 0 0 0 0

Group access State Netnode Owner Collisions RetrysSemaphore # 1 0 0 0 0 0Semaphore # 2 0 0 0 0 0 . . .Semaphore # 22 0 0 0 0 0Semaphore # 23 0 0 0 0 0

Login State Netnode Owner Collisions RetrysSemaphore #1 0 0 0 0 0

Port status State Netnode Owner Collisions RetrysSemaphore # 1 0 0 0 0 0

Type 30 file State Netnode Owner Collisions RetrysSemaphore # 1 0 0 0 0 0

Parent topic: Examining shared memory

Tuneables

The -t option lists current configurable parameter values.

SPINTRIES is specific to HP. SPINTRIES is set to 0 on platforms not supporting this technology.

The SHM_ATT_ADD parameter setting of 0 can mean it is dynamically allocated.

Note: On all platforms other than HP, the SHM_ATT_ADD value on the smat -t command cannotbe 0 otherwise unexpected results can occur in sessions.

At UniVerse 11.3.1, the '*' (meaning non-default value) check has been removed. This was donebecause during the installation, several tests are done against this setting, and the value may bedifferent than the one tested.

Parent topic: Examining shared memory

Group lock table

The -g option lists all active group locks.

Page 172: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 12: Monitoring system activity

172

When there are active group locks, the following fields are displayed:

▪ i-node (Inode)

▪ device (Device ID)

▪ group address (GRPAD)

▪ signature (Signature)

▪ lock word (LWORD)

Here is an example:

$ analyze.shm -gGroup Locks:Slot # Inode Device ID GRPAD Signature LWORD 6 44511 116 0x00000000 0x0000004E 0x00000001

Parent topic: Examining shared memory

Update record lock table

Use the -r option to list all active record locks.

If there are active update record locks, the fields displayed are:

▪ i-node (Inode)

▪ device (Device)

▪ group address (G-Address)

▪ key (Item-ID).

From UniVerse, the LIST.READU EVERY command produces similar output. Adding the -n optiondisplays information for each slot in the table, including unused slots that are available.

Windows example:

Active Group Locks: RecordGroup Group GroupDevice.... Inode..... Netnode Userno Lmode G-Address. Locks...RD ...SH ...EX

2070304418 600173504 0 8636 54 IN 600 10 0 0

Active Record Locks: Device.... Inode..... Netnode Userno Lmode Pid Item-ID....................2070304418 600173504 0 8636 54 RU AE

UNIX example:

$ analyze.shm -rActive Group locks:Device Inode. Netnode Userno Lmode G-Address. Readus5 42320 0 26 8 IN 6B000 1 5 24572 0 26 21 IN 400 1

Page 173: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

User process control locks

173

Active Record Locks:Device Inode. Netnode Userno Lmode Pid LoginId Item-ID.........5 42320 0 26 8 RU 2437 5 24572 0 26 8 RU &NEXT.AVAILABLE&

Parent topic: Examining shared memory

User process control locks

The -u option displays all the user-controlled locks.

You see either the state of the lock or the number of the user holding the lock. LIST.LOCKS fromUniVerse produces an identical report.

Windows example:

c:\u2\uv\bin\analyze.shm -u 0:------ 1:------ 2:------ 3:------ 4:------ 5:------ 6:------ 7:------ 8:------ 9:------ 10:------ 11:------ 12:------ 13:------ 14:------ 15:------ 16:------ 17:------ 18:------ 19:------ 20:------ 21:------ 22:------ 23:------ 24:------ 25:------ 26:------ 27:------ 28:------ 29:------ 30:------ 31:------ 32:------ 33:------ 34:------ 35:------ 36:------ 37:------ 38:------ 39:------ 40:------ 41:------ 42:------ 43:------ 44:------ 45:------ 46:------ 47:------ 48:------ 49:------ 50:------ 51:------ 52:------ 53:------ 54:------ 55:------ 56:------ 57:------ 58:------ 59:------ 60:------ 61:------ 62:------ 63:------

UNIX example:

$analyze.shm -u0:----- 1:----- 2:----- 3:----- 4:----- 5: 66 6:----- 7:-----8:----- 9:----- 10:----- 11:----- 12:----- 13:----- 14:----- 15:-----16:----- 17:----- 18:----- 19:----- 20:----- 21:----- 22:----- 23:-----24:----- 25:----- 26:----- 27:----- 28:----- 29:----- 30:----- 31:-----32:----- 33:----- 34:----- 35:----- 36:----- 37:----- 38:----- 39:-----40:----- 41:----- 42:----- 43:----- 44:----- 45:----- 46:----- 47:-----

Parent topic: Examining shared memory

General system information

To see the remaining fields in the disk shared memory segment, use the -x option.

Windows example:

C:\U2\UV>\u2\uv\bin\analyze.shm -x

General System Information:Login count: 2Package "-UVNET" login count: 0Package "-GCI" login count: 0Package "-UCI" login count: 0Package "-UVCS" login count: 2Package "-UVADM" login count: 0Package "-iPHANTOM" login count: 0Package "-CONNPL" login count: 0Package "-EDA" login count: 0

Page 174: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 12: Monitoring system activity

174

Base address for printer segment: 0x9000000UniVerse home directory: C:\U2\UV/Shared Catalog: 1Logging System State: 2Logging System, Archiving: 0 Disk: 0 Tape: 0Logging System, Checkpointing: 0Logging system, last checkpointed log: 0Logging system, active log: 0Logging system, user request: 0Next available transaction ID: 1 NT service process id: 2800

UNIX example:

$analyze.shm -x General System Information:Login count: 27Base address for printer segment: 0xBF800000Universe home directory: /usr/uv/Shared Catalog: 0Active Logging: 0Active log roll forward: 0Logging I/Os allowed: 0log_set: 0Next available transaction ID: 1log_volno: 0log_shutdown: 0Spare5: 0 . . .Spare14: 0Semaphore debugging: 0Uvnetd debugging: 0Feature3: 0Feature4: 0 . . .Feature15: 0Feature16: 0

Parent topic: Examining shared memory

Monitoring response time (UNIX only)After disk space, the biggest problem you might have is overuse of CPU time by certain systemprocesses. Some processes require an inordinate amount of processing. In a multiuser system,you may need to require that certain processing be done during off-hours. The system can initiateprocesses automatically at a specified time, as described later in this chapter. System response timecan also suffer as a result of disk fragmentation or poor organization of a file system.

When the system is slow, find out why. The who(1) command lists the people logged on to theysystem. The ps(1) command shows what they are doing.

From UniVerse, you can print a list of the current users with the LISTU command. The STATUScommand displays information about which disks are currently active, what phantom tasks arerunning, and which users are logged on to they system.

Page 175: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Keeping directory files small

175

The following sections describe how to improve response time on your system:

• Keeping directory files smallDirectories larger than 5K bytes (320 entries) are very inefficient because of file system indirection.

• Running programs during off-hoursThe cron(8) program can be used to run programs during off-hours.

• execuvYou can use the execuv command to start multiple concurrent UniVerse background processes.

Keeping directory files small

Directories larger than 5K bytes (320 entries) are very inefficient because of file system indirection.

For example, a large /usr/mail(1) or /usr/spool/uucp(1) directory can really slow thesystem down. The following command finds large directories:

% find / -type d -size +10 -print | more

Removing files from directories does not make the directories smaller, but you can compactdirectories. The following example shows the sequence of commands to compact the directory /usr/mail(1):

% mv /usr/mail /usr/omail% mkdir /usr/mail% chmod 777 /usr/mail% cd /usr/omail% find . -print | cpio -pdlm% cd ..% rm -rf omail

Parent topic: Monitoring response time (UNIX only)

Running programs during off-hours

The cron(8) program can be used to run programs during off-hours.

This is especially important for time-consuming programs whose output is not immediately needed,such as the following:

▪ Accounting

▪ File system administration

▪ Long-running user-written shell procedures

Parent topic: Monitoring response time (UNIX only)

execuv

You can use the execuv command to start multiple concurrent UniVerse background processes.

You can use the command from a shell script running interactively, from a shell script running in thebackground, or in a crontab file to start a cron job.

Page 176: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 12: Monitoring system activity

176

Examples

The following examples demonstrate some simple methods of using the execuv command.Additional shell syntax beyond the simple examples below can also be used to redirect stdout/stderr to another file if desired.

Interactive script:

# cat interactive.script#!/bin/shnohup /u2/uv/bin/execuv "SLEEP 100" &nohup /u2/uv/bin/execuv "SLEEP 101" &nohup /u2/uv/bin/execuv "SLEEP 102" &# ./interactive.scriptSending output to nohup.outSending output to nohup.outSending output to nohup.out# ipcs -mop | grep acebm 177209382 0xacebfaff -rw------ root system 1 18743432 18743432m 132124660 0xacebfb31 -rw------ root system 1 17825934 17825934m 161484798 0xacebfb91 -rw------ root system 1 16253070 16253070

Three UniVerse processes with unique signatures were started.

Background script

# cat back.script#!/bin/sh/u2/uv/bin/execuv "SLEEP 100" &/u2/uv/bin/execuv "SLEEP 101" &/u2/uv/bin/execuv "SLEEP 102" &# nohup ./back.script &[1] 17825964# Sending output to nohup.out[1] + Done nohup ./back.script &# ipcs -mop | grep acebm 178257958 0xacebfae1 --rw------- root system 118743462 18743462m 133173236 0xacebfb7f --rw------- root system 116253088 16253088m 162533374 0xacebfa87 --rw------- root system 119464404 19464404#

Three UniVerse processes are started with unique signatures.

Cron jobs

In the crontab file, use execuv (for example, /u2/uv/bin/execuv) rather than 'uv' or'uvsh' to start UniVerse sessions via cron. This will ensure that multiple concurrent UniVersesessions initiated by cron will have unique signatures.

Parent topic: Monitoring response time (UNIX only)

Page 177: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Monitoring errors (UNIX only)

177

Monitoring errors (UNIX only)UniVerse logs user and UniVerse system errors in a central text file, errlog, located in the UV accountdirectory. All errors that pass through the internal functions warning( ), mwarning( ), fatal( ), ormfatal( ) are logged. The severity of logged errors varies considerably, from mistyped commands toserious system errors.

Create the errlog file using commands such as the following:

$ touch /usr/uv/errlog$ chmod 666 /usr/uv/errlog

Messages in the errlog file are similar to “Message [000001].” Refer to the SYS.MESSAGE file for errortext.

By default, the errlog file has room for 100 logged entries. The first line of the file is not an errorentry: it specifies the number of the next entry to be written. After the 100th error is logged, the 101sterror overwrites the first error entry.

Note: If you want to increase the default number of messages, increase the value of theMAXERRLOGENT uvconfig parameter.

Here is a portion of a sample errlog file:

015 REC1Mon Nov 16 10:23:13 19 root Illegal verb "SUN.SPORT".Mon Nov 16 10:29:17 19 root Verb "D" is not in your VOC.Mon Nov 16 15:12:03 47 paul Program "BSHIPtest":Mon Nov 16 15:12:50 69 tim Program "T2":

Each logged error contains the following information:

▪ System date and time when the error was logged

▪ Port number of the user who caused or encountered the error

▪ Login name of the user who caused or encountered the error

▪ Text of the error message (up to 256 characters)

Error messages such as “A fatal error has occurred in UniVerse” or “Abnormal termination of UniVerse”indicate a problem in the UniVerse system itself. If you get a message like one of these, write down theexact text of the message, note what process caused the message, and call Rocket Software CustomerSupport with the problem.

Page 178: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

178

Chapter 13: File utilitiesUse the following utlities to keep your files at peak efficiency:

▪ Use the File Tools option of XAdmin for general file administration.

▪ Use the format conversion utility to import files and BASIC object code from different hardwareplatforms.

For information about other UniVerse file maintenance commands and techniques, see UniVerseSystem Description.

Administering UniVerse filesThe File Tools option allows you to list files, view their properties and statistics, run diagnostics, andrepair damaged files.

1. To start administering UniVerse files, from the Admin Tasks view, double-click File Tools.The File Tools window displays, as shown in the following example:

2. To list the files in a UniVerse account, expand the account that you want to view.

Page 179: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Administering UniVerse files

179

3. To view the properties of a file, select the file for which you want to view properties, then clickProperties.The Properties dialog box displays, as shown in the following example:

For a detailed description of the information in this dialog box and UniVerse files, see the UniVerseSystem Description guide. See the Rocket UniVerse NLS User Guide for the information presented inthe NLS tab. The Backup + Replication tab lists information about any backups (see Backing upfiles with XAdmin, on page 149) and provides the state of replication files. For more informationabout Data Replication, see the U2 Data Replication User Guide.

4. To view statistics about a file, select the file for which you want to view statistics, then clickStatistics.The Statistics dialog box opens, as shown in the following example:

The following information is available about the selected file:▪ File name

▪ Date of the last update

▪ File separation if a static hashed file

▪ Modulus if a static hashed file

Page 180: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 13: File utilities

180

The following statistics are available about the selected file:

Field Action

Reads Total number of READ operations on the file.ReadUs Total number of READU operations on the file.Writes Total number of WRITE operations on the file.Write Updates Total number of WRITEU operations on the file.Oversize Reads Total number of READ operations executed against large records.Oversize Writes Total number of WRITE operations executed against large records.Overflow Reads Total number of READ operations that accessed overflow buffers.Deletes Total number of DELETE operations on the file.Selects Total number of SELECT operations on the file.ReadLs Total number of READL operations on the file.Opens Total number of OPEN operations on the file.Clearfiles Total number of CLEARFILE operations on the file.Write to Locked Total number of WRITE operations executed against a locked

record.Writes Blocked Total number of WRITE operations blocked by a record lock.ReadU lock conflict Total number of READU operations that failed because of an existing

record lock.ReadL conflicts Total number of READL operations that failed because of an existing

record lock.Compression Total number of free operations that compacted a group after a

record was deleted.

5. To run file diagnostics, select the file for which you want to run diagnostics, and clickDiagnostics.A dialog similar to the following example opens:

a. Select the level of diagnostic detail you want to produce in the Level box.The lowest diagnostic level is 1, while the highest diagnostic level is 10. The default value is 5.The higher this level setting, the longer the diagnostics test takes to complete. Use the Levelarrows to select the diagnostic level.

b. Select the types of errors you want to appear in the Error Report window. Select one of thefollowing values:

Page 181: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Administering UniVerse files

181

▪ All: List all diagnostic details in the Error Report window.

▪ Fatal: List only fatal errors in the Error Report window.

▪ None: Do not list any errors in the Error Report window.

c. Optional: If you want to save a report of irreparable groups and record blocks detected bythe diagnostic test, select Outpath, then enter the full path to the directory where you wantto store the output.

d. Optional: If you want to store a copy of the error report, select Logging, then enter the fullpath to the directory where you want to store the report.

Note: If you do not specify Outpath or Logging, the output and error report are stored inthe directory where the file currently resides.

e. Click Start to start the diagnostic program.After you run the diagnostics program, the Diagnostic Run dialog box displays the accountname, the file name, and the progress of the program. It also displays the number of errorsencountered and specifies what action to take if an error is detected.

f. After repairing the damaged file, click Rerun to rerun the diagnostic program.6. To repair damaged files, select the file you want to repair, then click Repair.

A dialog box similar to the following example opens:

a. Select the level of diagnostic detail you want to produce in the Level box.The lowest diagnostic level is 1, while the highest diagnostic level is 10. The default value is 5.The higher this level setting, the longer the diagnostics test takes to complete. Use the Levelarrows to select the diagnostic level.

b. Select the types of errors you want to appear in the Error Report window. Select one of thefollowing values:▪ All: List all diagnostic details in the Error Report window.

▪ Fatal: List only fatal errors in the Error Report window.

▪ None: Do not list any errors in the Error Report window.

c. Optional: If you want to save a report of irreparable groups and record blocks detected bythe diagnostic test, select Outpath, then enter the full path to the directory where you wantto store the output.

d. Optional: If you want to store a copy of the error report, select Logging, then enter the fullpath to the directory where you want to store the report.

Page 182: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 13: File utilities

182

Note: If you do not specify Outpath or Logging, the output and error report are stored inthe directory where the file currently resides.

e. Click Start to run the repair program.After you run the repair program, the dialog box displays the account name, the file name,and the progress of the program. It also displays the number of errors encountered andspecifies what action to take if an error is detected.

If an error is encountered, double-click the account name to display the File Errors dialogbox.

f. After repairing the damaged file, click Rerun to rerun the repair program.

The format conversion utilityThe format conversion utility converts UniVerse database files, tables, and UniVerse BASIC object codefrom one machine’s storage format to another. Use this utility when you are transferring data filesand tables between machines with different architectures. You can also use this utility when you aretransferring tables from one schema to another on the same system. You can use the format.convcommand from the operating-system level on UNIX or an MS-DOS window on Windows, or you can usethe FORMAT.CONV command in UniVerse.

You can use these commands in one of three ways:

▪ To convert the storage format of data files and UniVerse BASIC object code.

▪ To prepare tables for transfer to another schema, on either the same or a different system.

▪ To convert the storage format of tables and reconstitute them in the schema to which they havebeen transferred.

See UniVerse SQL Administration for DBAs for a description of how to export and import tables from oneschema to another.

Converting the format of data files and UniVerse BASIC code

The command options let you specify the following:

▪ The target machine class, which determines the byte order of the converted output

▪ The target machine type for low-order and high-order byte storage

▪ Conversion of database files from formats compatible with later UniVerse releases to formatscompatible with earlier UniVerse releases

▪ Whether or not to display information on your screen during processing

You can convert the file and transport it to the target machine, or you can transport the file andconvert it on the target machine. Once a file has been converted, you can at any time use the formatconversion utility to reconvert it. You can use the format conversion utility any number of times on thesame file. The format conversion utility does not alter the logical contents of a file, such as the storeddata. It alters only its physical format by modifying byte-ordering.

Converting to the current machine format

The format conversion utility changes the format of files or UniVerse BASIC programs from a machinehaving a different architecture so they can be used on the current machine.

Page 183: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Converting to a different machine format

183

The command to convert either a data file or a file containing UniVerse BASIC object code to use onthe current machine has the following syntax:

format.conv filename

filename specifies the name of the file whose format you want to convert. If you do not specify a filename, the format conversion utility reads file names from standard input. For example, the followingcommand converts a file called anyfile to the format used on the current machine:

$format.conv anyfile

The format conversion utility identifies the byte storage format of the current machine. At theUniVerse prompt you can use the FORMAT.CONV command. The command syntax is identical foroperating system and UniVerse commands. Be careful to type a lowercase letter when specifying anoption for the UniVerse FORMAT.CONV command.

Converting to a different machine format

You can use the format conversion utility to prepare data files or UniVerse BASIC programs when youwant to export them from the current machine to a machine having a different architecture. You mustspecify which machine format or class to use. (The default is the class of the machine on which you arerunning.) The basic syntax of the command is as follows:

format.conv -format.option file name

-format.option specifies the format of the target machine. The following sections describe the formatoptions.

Explicitly specifying the machine class

Use the following form of the format.conv command to convert a file to the format of the specifiedmachine class:

format.conv -mclass filename

Specify a minus sign followed by the letter m followed by the machine class number (no spaces areallowed). Valid class numbers are 0, 1, or 16.

For example, the following command converts basic.file (which contains UniVerse BASIC objectcode) to use on a class 16 machine:

$format.conv -m16 BP.O/basic.file

If you specify multiple options and include -mclass, always specify this option last. For example, thefollowing command specifies Release 6 format while converting data.file to use on a class 16machine:

$format.conv -6m16 data.file

For more information about specifying the -6 option, see Converting to a different machine format, onpage 183.

Specifying low-order byte addressing format

Use the -u option of the format.conv command to convert a file to low-order byte addressingformat (big-endian), or “unix” (u) format:

format.conv -u filename

When you use the -u option to convert a data file, the conversion command assumes a machineclass of 0 or 16. For a data file, the -u option produces the same result as the -m0 or -m16 option. Forexample, the following command converts data.file to use on a class 0 or class 16 machine:

Page 184: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 13: File utilities

184

$format.conv -u data.file

When you use the -u option to convert a file containing BASIC object code, the conversion commandassumes a machine class of 0. For a file containing BASIC object code, the -u option produces the sameresult as the -m0 option. For example, the following command converts basic.file to use on a class 0machine:

$format.conv -u BP.O/basic.file

For information about converting a file containing BASIC object code to use on a class 16 machine, seeExplicitly specifying the machine class, on page 183.

Specifying high-order byte addressing format

Use the -x option of the format.conv command to convert a file to high-order byte addressingformat (little-endian), or “xinu” (x) format.

format.conv -x filename

When you use the -x option to convert a file, the conversion command assumes a machine class of 1.The -x option produces the same result as using the -m1 option. For example, the following commandconverts data.file to use on a class 1 machine:

$format.conv -x data.file

Specifying format codes and machine class options

For information about these topics, see the FORMAT.CONV command in UniVerse User Reference.

Converting a file to an earlier UniVerse release format

If you want to move a file from a later UniVerse release to an earlier one, you must use the formatconversion utility to convert the files from the later file format to a format compatible with the earlierrelease. The procedure differs depending on which releases of UniVerse are involved.

Release 6 through release 9.5.1BTo convert a file from a later release of UniVerse to an earlier one is a three-step process:

1. On the machine running the later release of UniVerse, use the FORMAT.CONV command with the-6 option to convert the file to UniVerse Release 6 format.

2. Transfer the converted file to the machine running the earlier release of UniVerse.3. On the machine running the earlier release, use the RESIZE command on the file to make it

compatible with the current release of UniVerse.

Release 9.5.1C or laterTo convert a file created or resized on a 9.5.1C or later release of UniVerse to a format compatible withRelease 9.5.1B or earlier is a four-step process:

1. On the machine running the later release of UniVerse, use the FORMAT.CONV command with the-o option to convert the file to UniVerse Release 9.5.1B format.

2. To convert the file in 9.5.1B format to a format compatible with Release 9.4.1 or earlier, use theFORMAT.CONV command with the -6 option.

3. Transfer the converted file to the machine running the earlier release of UniVerse.4. On the machine running the earlier release, use the RESIZE command on the file to make it

compatible with the current release of UniVerse.

Page 185: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Syntax

185

SyntaxThe basic syntax of the command to convert a data file to UniVerse Release 6 is:

format.conv -6 filename

A minus sign ( - ) immediately precedes the 6 (no spaces are allowed).

filename specifies the name of the file whose format you want to convert. If you do not specify filename, the format conversion utility reads file names from standard input.

Alternately, you can use the FORMAT.CONV command at the UniVerse prompt. For example, thefollowing commands convert beta.file from Release 9.5.1C format to Release 6 format:

>FORMAT.CONV -o beta.file>FORMAT.CONV -6 beta.file

When you use the -6 option to convert a file to Release 6 format, the format.conv commandperforms the following actions:

▪ It changes item padding for the stored file.

▪ It writes a file revision level identifier in the file header which is stored in the front of the file.For example, Release 6 files have the following file-level identifier (in hexadecimal form):0xacef0106.

Once you convert a file to Release 6 format, you can at any time use the format.conv commandto convert the file from one machine’s storage format to another. And you can use the RESIZEcommand to convert the file from Release 6 format to the file format of current release of UniVerse onyour system.

Note: Security constraints prohibit using the format conversion utility to convert UniVerse SQLtables to an earlier file format. If you want to convert tables to an earlier file format, follow thesesteps:

1. Use the CREATE.FILE command to create a temporary file.2. Copy the contents of the table to the temporary file. (The copy operation fails if the user who is

trying to copy the table does not have SQL SELECT privilege.)3. Use the format conversion utility with the -6 option to convert the temporary file to Release 6

format.

Silent or verbose outputYou can specify silent or verbose options when you are using the format conversion utility. By default,the format conversion utility echoes its operation to the user’s display screen. (The default setting isverbose.)

The basic syntax of the format conversion utility command with an output option is as follows:

format.conv -output.option filename

A minus sign ( - ) immediately precedes the output code (no spaces are allowed). Valid entries are -s(for silent) or -v (for verbose).

filename is the name of the file whose format you want to convert. If you do not specify a file name, theformat conversion utility reads file names from standard input. For example, the following commandsilences output while converting my.file to use on the current machine:

$ format.conv -s my.file

Or, for example, the following command toggles output on while reconverting my.file to use on aclass 1 machine:

$ format.conv -vx my.file

Page 186: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 13: File utilities

186

This command displays the following on the screen (with the verbose setting on):

Processing 'my.file'.

Page 187: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

187

Chapter 14: Executing UniVerse commandsThis section describes how to execute UniVerse commands in XAdmin. As you issue commands, acommand history is created, which you can use to re-execute a command or save commands to theVOC file.

Executing a commandComplete the following steps to execute a UniVerse command.

Note: Use the UniVerse Command option to execute only a few UniVerse commands, because it isnot a command shell.

1. From the Admin Tasks view, double-click UniVerse Command.The UniVerse Command window opens, as shown in the following example.

2. Enter the UniVerse command in the Command field.

Page 188: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 14: Executing UniVerse commands

188

3. Click Execute or press Enter.The result of the command displays in the UniVerse Command output window, as shown in thefollowing example.

4. If the command requires user input, enter an appropriate reply in the text entry box, then clickRespond. Repeat entering input until no further input is required.

5. To quit from command output, click Abort.

Editing a commandComplete the following steps to edit a command that displays in the Command History field of theUniVerse Command window.

1. From the Admin Tasks view, double-click UniVerse Command.2. Select the command you want to edit from the Command History box.

The command displays in the Command field.3. Edit the command in the Command field and click Execute to run the new command.

Re-executing commandsComplete the following steps to re-execute a command listed in Command History field.

1. From the Admin Tasks view, double-click UniVerse Command.2. Select the command you want to re-execute from the Command History field.

The command displays in the Command field.3. Click Execute or press Enter to run the command.

Page 189: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

189

Chapter 15: Sending messages to users inYou can communicate directly or set up system processes to send messages to users at a specific timeor when a particular event occurs.

You can communicate with users using the following methods:

Sending messages with XAdminYou can send broadcast messages to one or more users from the Users tab.

About this task

The options available from this view vary depending on whether you are sending a message to usersusing a UNIX or Windows platform server.

When you are connected to a UNIX or Windows server, you can send messages to:

▪ A single user

▪ Multiple users

▪ All UniVerse users (Windows)

▪ The UniVerse users in a domain you specify (Windows)

▪ The system console (UNIX)

Procedure

1. In XAdmin, from the Admin Tasks view, double-click Users.2. From the Users tab, click Message.

The Send Messages dialog box is displayed.

Note: On UNIX platforms, instead of the Domain Users option, the System Console optiondisplays.

3. Select the users that you want to receive the message.

Note: If you select a user before you click Message, the User name option is automaticallyset, and the user’s name is selected.

4. Enter your message in the Message Text field. Click OK.

The UNIX write command (UNIX only)The UNIX write(1) command lets you send a message directly to any system user.

This command writes to the terminal to which a user is logged on, even if the user is running an activeprocess (such as the text editor) that uses the terminal.

Users can use the mesg(1) command to turn off permission for write. Depending on your need tocommunicate quickly with users, you may want to establish guidelines for using these commands.

Page 190: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 15: Sending messages to users in

190

You should generally use write only for time-critical messages. If you use it too frequently, users maytend to turn off this capability.

The MESSAGE command (UNIX only)The MESSAGE command interrupts whatever a user is doing and displays a message on the screen.

You can use the MESSAGE command as you would the UNIX write command. Use the -STATUSoption to display the status of receive mode for all users.

Message of the day (UNIX only)On UNIX systems when a user logs on to the system, the login procedure prints out a message of theday if any messages containing today’s date are found in the file /etc/motd.

You can change the contents of this file using the text editor. Two messages are shown:

9/23: Reboot at 5 pm today9/24: Down for PM from 9 to 11 am tomorrow

The /etc/motd file should be used for important messages. Obvious possibilities are messagesabout scheduled down-time for maintenance, cleanup messages for space-low file systems, or otheruseful warnings.

You should keep messages in this file short and to the point so that users are not delayedunnecessarily.

Page 191: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

191

Chapter 16: Adding capabilities to UniVerseAlthough UniVerse includes many programs and utilities, you can make additional programs availableto users. These include applications written in UniVerse BASIC and non-UniVerse applications writtenin a Windows environment but accessible to UniVerse users.

This chapter discusses system administration considerations when making additional programsavailable to UniVerse users:

▪ Adding UniVerse BASIC applications

▪ Managing the catalog space used by UniVerse BASIC

▪ Managing catalog shared memory for UniVerse BASIC programs

▪ Adding non-UniVerse programs to VOC files

Adding UniVerse BASIC applicationsUniVerse BASIC is the principal programming language in the UniVerse environment. It has manyfeatures that are designed to work in the database management environment. It allows the creation ofspecialized business applications.

UniVerse BASIC source code is stored in a type 1 or type 19 file. When you compile a UniVerse BASICprogram, object code is created and stored in another type 1 or type 19 file whose name is the sameas the source code file with the suffix .O added. To UniVerse, each program appears as a record inthe source file. To the operating system, the program file is a directory, and each source programis a separate file in that directory. This means you can create program source code using either theUniVerse Editor or a text editor.

Source code is compiled with the BASIC command. Here is the syntax:

BASIC filename [programs | *] [options ]

filename is the name of a type 1 or type 19 file containing BASIC programs. programs are the record IDsof the programs to compile. An * (asterisk) specifies all programs in the file.

Use the UniVerse RUN command to run compiled programs. Here is the syntax:

RUN [filename] program [options]

UniVerse automatically appends the suffix.O to filename to access the file containing the object code.If filename is omitted, BP.O is assumed to contain the object code.

program is the record containing the object code. It should have the same name as the record thatcontains the source code.

If programs are cataloged, you can invoke and run them directly from the UniVerse prompt; you neednot use the RUN command to run cataloged programs. Cataloging programs and object modules tothe system catalog space allows all users to share them.

To catalog a program, that is, to copy a compiled program to catalog space, use the CATALOGcommand (see UniVerse User Reference). All external subroutines must be cataloged before they canbe called from within a UniVerse BASIC program with the CALL statement. Cataloging other programtypes is optional.

Unless you catalog the program globally, an entry is made in your VOC file pointing to the record ID ofyour program in the nonhashed file you set up for it.

You can also use the UniVerse Editor or ReVise to add UniVerse BASIC programs to the VOC file.

Page 192: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 16: Adding capabilities to UniVerse

192

Managing catalog spaceUsers developing UniVerse BASIC programs generally catalog their own modules. The administrator’sjob is to initialize the system catalog and to periodically purge it of unused entries to improve itsperformance. There is no fixed limit on the size of catalog space. However, the more entries there are,the slower the access, so unused modules should not remain cataloged.

The catalog contains normally and globally cataloged programs. It does not contain locally catalogedprograms, which are for use in a particular account. Normally globally cataloged programs areaccessible to all users.

Normally cataloged programs have names of this form:

*account*catalog.name

Globally cataloged programs have catalog names with *, -, $, or ! as the initial character.

Globally and normally cataloged programs are stored in the catdir file in the UV account directory.The file descriptor GLOBAL.CATDIR references the catdir file from any UniVerse account.

Initializing system catalog space

The INITIALIZE.CATALOG command lets you completely delete the system catalog space andreinitialize it.

Warning: The impact of the INITIALIZE.CATALOG command is enormous. You should beabsolutely sure that you want to initialize the catalog space. If the slightest doubt exists, youshould not respond with Y to the Continue Initialization prompt.

The following example re-initializes the system catalog space:

>INITIALIZE.CATALOG***************************************************************** WARNING** You are about to destroy the system Catalog space. This *may have a significant effect upon the user community.****************************************************************Continue Initialization of the Catalog space? (Y/N)YInitialization of CATALOG space completed.

Checking the status of the catalog

Use the VCATALOG command to compare the object code of a program in the catalog with the objectcode contained in your account. It verifies that the cataloged version of the program is identical to theobject code in your account. VCATALOG has the following syntax:

VCATALOG [filename [[catalog] [program]]] [LOCAL]

filename is the name of the file that contains the source code for the program being compared. catalogis the name of the program in the system catalog space. program is the record in the file filename.Othat contains the object code of the program to be compared. LOCAL specifies a locally catalogedprogram.

Page 193: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Displaying catalog contents

193

Displaying catalog contents

Use the MAP command to display the contents of the system catalog. It displays each program andsubroutine in the catalog in alphabetical order. MAP also displays the following:

▪ Date the item was cataloged

▪ Account name from which the item was cataloged

▪ Number of times the item has been run since being cataloged

▪ Number of variables

▪ Number of common segments

▪ Number of bytes of executable object code

▪ Size of the cross-reference table in bytes

▪ Total number of bytes, consisting of the executable object code, the cross-reference table, and thesymbol table

Use the MAKE.MAP.FILE command to create a UniVerse file called &MAP&. This file contains thedata displayed by the MAP command. By creating the &MAP& file, you can use RetrieVe commands toproduce reports on the catalog space.

Here’s an example of a listing produced by MAP:

>MAPCatalog Name Date Who Ref Var Seg Obj CR Size*DEMO*AD.NAME 040590 DEMO 0 21 4 2063 5316 7399*DEMO*AMT.PCT.DISP 040590 DEMO 0 7 0 242 408 670*DEMO*ANT.UPDATE 040590 DEMO 1 21 0 761 1052 1833*DEMO*AP.OPENS 040590 DEMO 0 2 1 1039 1328 2387*DEMO*AR.BAL.CLEAR 040590 DEMO 0 2 1 231 2160 2411*DEMO*AR.BAL.DISP 040590 DEMO 0 9 1 486 2420 2926*DEMO*AR.TYPE 040590 DEMO 0 20 3 869 4284 5173

The two columns of main interest to you are the date the item was put in the catalog and the numberof references. If the item has been cataloged for some time and has never been referenced, it may beappropriate to delete it from the catalog. In addition you can check for duplicate entries.

If a &MAP& file exists, you can use RetrieVe to produce reports on the contents of the catalog space.(The &MAP& file is generally contained in the UV account, with pointers to it from other accounts.)Because the &MAP& file is out of date when someone adds a program to the catalog space, create the&MAP& file just before producing a RetrieVe report on its contents.

Deleting programs from the catalog

In a development environment, it is not unusual to find several versions of the same program inthe catalog. Delete outdated versions with the DELETE.CATALOG command, which removes acataloged program from the system catalog space and makes it unavailable to subsequent calls. TheDELETE.CATALOG command has the following syntax:

DELETE.CATALOG catalog.name

For example, to delete the module *DEMO*AR.TYPE, enter:

>DELETE.CATALOG *DEMO*AR.TYPE

Page 194: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 16: Adding capabilities to UniVerse

194

Managing catalog shared memoryYou can load cataloged UniVerse BASIC programs into shared memory and run them from there.Shared memory reduces the amount of memory needed for multiple users to run the same program atthe same time. The program also starts a little faster because it’s already in memory.

For example, if 21 users are running the same UniVerse BASIC program at the same time withoutcatalog shared memory, and the program code requires 50 Kbytes of memory, the total amountof memory used by everyone running that program is 21x50, or 1050, Kbytes. On the other hand, ifthe program is loaded into catalog shared memory, all 21 users can run one copy of the program,which uses only 50 Kbytes of memory. In this example catalog shared memory saves 1000 Kbytes (1megabyte) of memory.

Setting up catalog shared memory

Before users can use programs in catalog shared memory, the administrator must designate whichprograms are available and load them into shared memory. XAdmin simplifies this process. You canspecify any UniVerse BASIC programs to be run in shared memory, including those listed in the systemcatalog space.

About this task

Use the Shared Programs view to manage catalog shared memory. The amount of memory availablefor catalog shared memory is limited. This limit varies from machine to machine. The administratordetermines how best to use this space by designating the programs to run from catalog sharedmemory.

The SHM.TO.LOAD file in the UV account directory contains details, such as account, file, andprogram names, of the programs selected to run in shared memory. Programs added to catalogshared memory must be compiled object code. When shared memory is loaded, this file is readto determine which programs are to be loaded. An appropriate amount of shared memory is thenloaded.

Note: Changes made to the SHM.TO.LOAD file do not take effect until the next time you start thedatabase or load shared memory.

Procedure

1. From the Admin Tasks view, double-click Shared Programs.The Shared Programs tab opens, as shown in the following example:

Page 195: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Setting up catalog shared memory

195

The Shared Programs tab contains a list of the programs currently running in shared memory. Italso displays the amount of shared memory allocated, in bytes, and how much of this memory iscurrently being used.

Note: The Shared Memory tab is empty if shared memory is not loaded.

From this tab, you can choose programs to add to the SHM.TO.LOAD file. If the SHM.TO.LOADfile does not exist, a warning message displays. You must acknowledge this message before youcan choose any programs. U2 creates the SHM.TO.LOAD file when you click OK.

2. To define the programs to be run in shared memory, click Setup.A dialog box similar to the following example displays:

a. From the Programs in Current File list, select one or more programs and click Add.The updated Selected programs list includes the additional programs.

b. If you want to choose a program in a file other than catdir (the catalog space), clickChange.

c. In the Change Account dialog box, select a new account and file from the Account and Filelists. Click OK.

Page 196: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 16: Adding capabilities to UniVerse

196

Note: When selecting a file from which to choose programs to be added to catalogshared memory, make sure that it is a directory file containing object code.

d. To remove a program from the SHM.TO.LOAD file, select a program to remove from theSelected Programs list, then click Remove.

e. Click OK.3. To load programs into catalog shared memory, click Load.

The Load Catalog Shared Memory dialog box opens.a. If you want to load additional (spare) memory, enter a new value in the Extra Memory

Required field. This defines the additional amount of shared memory, in bytes, to load. ClickOK.The existing shared memory is destroyed and the shared memory is reloaded.

4. Select whether you want to view All Shared Programs, Shared Programs by PID, or SharedPrograms by File Name. Click Refresh to update the list.

Updating or deleting a program in shared memory

If a program has been edited and recompiled, you can load the latest version of the program intoshared memory. The memory used for the “old” version of the program is not made available, so theupdated program will be loaded only if enough spare memory is available.

About this task

U2 invokes programs in the same way, whether they are stored in catalog shared memory or in adisk file. U2 attaches to the catalog shared memory only when it starts. Therefore, anyone who startsU2 before catalog shared memory is loaded always uses programs from disk. To take advantage ofcatalog shared memory, those users must leave U2 (by entering Q at the prompt), and start it again.Even the system administrator must leave U2 and restart it to take advantage of the programs inshared memory.

Changing a UniVerse BASIC program and running the BASIC command changes the copy of the objectcode stored in the system catalog, but does not change the copy stored in catalog shared memory.

You can add, remove, and update programs running in shared memory without having to reloadit. However, to do this you must have additional (spare) shared memory loaded. When you modifyprograms in shared memory, it acts only as a temporary measure, and no changes are made to theSHM.TO.LOAD files.

Procedure

1. From the Admin Tasks view, double-click Shared Programs.2. To update a program, select the program to update, then click Update.

a. At the confirmation message, click Yes.UniVerse checks that there is enough memory available to load the updated program. Ifthere is not, a message window displays. You must acknowledge the message. If there isenough space, UniVerse loads the program into shared memory and updates the SharedPrograms dialog box.

3. To delete a program, select the program to remove from the Shared Programs dialog box, thenclick Delete. At the confirmation message, click Yes.

Page 197: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Adding commands to the VOC file

197

Adding commands to the VOC fileYou can make standard operating system utilities and additional system and UniVerse BASICapplications available to UniVerse users through the VOC files in their accounts. Capabilities you wantto make available to all accounts can be added to the NEWACC file of the appropriate flavor.

Using either ReVise or the UniVerse Editor, add a verb to the VOC. (See UniVerse System Descriptionfor a discussion of how to use ReVise and Guide to the UniVerse Editor for information on using theUniVerse Editor.) The first field of the VOC entry (defined in the VOC dictionary as F1) defines the entrytype and gives an optional description. The first one or two characters in F1 define the type of VOCentry. For an executable program, the type must be V for verb.

The rest of F1 is available for an optional description of the record. F1 might look like the followingexample:

V VI, the UNIX text editor

The second field (F2) contains the processor name. This is the name of the program to be executed.

For an operating system command, this field would contain the full path of the program to beexecuted. For a UniVerse BASIC program, this field would contain the path of the object code, unlessthe name begins with *, $, -, or !, which indicates that the object module can be found in catalog space.You can use the MAP command to find the name of an entry in catalog space. Globally catalogedentries are available to all users of the system and have names in the form:

*NAME

The user who catalogs the program can use $, -, or ! in place of *. Standard normal cataloged entrieshave names in the form:

*ACCOUNT_NAME*PROGRAM_NAME

Note: Locally cataloged programs are not entered in the system catalog space and are not listedby either the MAP or the MAKE.MAP.FILE command.

The third field (F3) specifies the dispatch type. This field should normally contain a B for a UniVerseBASIC program or a U for an operating system command. Standard UniVerse programs in $UVBIN aretype E. For these programs, field 2 contains the name of the executable file in $UVBIN. The following isa full list of dispatch types:

Code Dispatch type Use

B Cataloged UniVerse BASICprogram

Used with the UniVerse BASIC CALL statement, or fromthe UniVerse prompt.

C C shell script Used to call C shell scripts from the operating system.Available by default on UNIX; can be used on Windowsplatforms where a suitable processor exists.

D DOS batch files Windows only. Used to call DOS batch files, availableon Windows platforms only.

E External Reserved for internal UniVerse use only.I Internal Reserved for internal UniVerse use only.P Primitive command Provided for compatibility with the PI/open PR

command.Q Query command Reserved for internal UniVerse use only.S Bourne shell script Used to call Bourne shell scripts from the operating

system. Available by default on UNIX; can be used onWindows platforms where a suitable processor exists.

Page 198: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 16: Adding capabilities to UniVerse

198

Code Dispatch type Use

U Operating systemcommand

Makes a call to an operating system command.

The fourth field (F4) specifies additional information that may be needed by the program. This isreferred to as the processor mode. It can be one or more of the following:

Code Processor mode

A Use alternative query syntax. Reserved for internal UniVerse use only.B Not used.C Allow COMO files to be used with external programs and operating system

commands.D Pass DATA to subprocess. Reserved for internal UniVerse use only.E Use Win32 expansion routine (Windows platforms only).F Pass format through environment variable. Reserved for internal UniVerse use only.G Allowed in an SQL CALL statement.H EXECUTE and PERFORM can use in a transaction.I Interrupt control.K Keep the select list. Reserved for internal UniVerse use only.M (NLS) Map output from EXECUTE CAPTURING to internal character set.N Do not set @SYSTEM.RETURN.CODE.P Allow parenthetical options on the command line.Q Use SQL mode. Reserved for internal UniVerse use only.R Backslashes ( \ ) can be used to quote strings.S Use the active select list. Reserved for internal UniVerse use only.T Change the terminal mode.U Add path of the UV account directory before the processor name.V Function specified by field 5. Reserved for internal UniVerse use only.X Read DATA stack if there is an active select list. Reserved for internal UniVerse use

only.

Here is an example that demonstrates how to use the CATALOG command to add a UniVerse BASICprogram called PAYROLL to the VOC file:

>CATALOG BP PAYROLL PAYROLL LOCAL

You could also use the UniVerse Editor to create the VOC entry:

>ED VOC PAYROLL---: I001: V BASIC program to do payroll processing002: BP.O/PAYROLL003: B004: <Return>---: FILE

Page 199: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

199

Chapter 17: Managing network servicesThis section describes how to administer the UniRPC daemon (UNIX) or service (Windows) and Telnetsessions.

Administering the UniRPC daemon or serviceThe UniRPC daemon (UNIX) or service (Windows) lets U2 communicate with remote systems. Thecommunicating systems must use TCP/IP networking software to make connections.

On UNIX systems, the UniRPC comprises the following U2 components:

▪ The UniRPC daemon unirpcd. It receives requests from remote machines for services and startsthose services.

▪ UniVerse BASIC programs for administering the UniRPC.

Note: In this context, the terms local and remote refer to client and server programs or systems.However, because client programs can connect to server programs running on the same computer,remote does not necessarily imply that the server is on another physical computer system.

The UniRPC daemon or service unirpcd receives requests from remote machines for services andstarts those services.

How the UniRPC daemon or service works

When a client program requests a service on a server, the UniRPC daemon (UNIX) or service (Windows)on the server checks the unirpcservices file to verify that the client system can request theservice. If the UniRPC daemon or service finds the client system in the unirpcservices file, itexecutes the service requested by the client. Each client process connects to its own server process.Each server process uses the same amount of system resources as a local UniVerse user.

Note: As of release 12.1.1, the UniRPC daemon process uses two separate threads to handle newconnection and disconnection requests, thus avoiding a potential bottleneck condition in whichdelays or connection failures might occur.

System requirements

Before installing layered or third-party products that use the UniRPC, such as UVNet, XAdmin, or theUni Call Interface (UCI), you must install and configure TCP/IP using the instructions supplied by theTCP/IP facility vendor.

On UNIX platforms, you should then identify the systems to be networked with UniVerse bydefining them in the /etc/hosts file. See Maintaining the hosts file (UNIX only), on page 201 forinformation about how to do this.

You must also modify the configurable UniVerse parameter MFILES. MFILES specifies the size of theUniVerse rotating file pool, which is normally at least eight less than the kernel’s limit for open files perprocess. You should decrease the value of MFILES by one:

Page 200: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 17: Managing network services

200

▪ For each host system you want to connect to through UVNet.

▪ For each UniVerse server you want to connect to via the BASIC SQL Client Interface (BCI).

For information about configurable UniVerse parameters, Configurable UniVerse parameters, on page29.

Starting and stopping the UniRPC daemon or service

On Windows platforms, use the control panel to start and stop the UniRPC service. On UNIX platforms,use the UniVerse System Administration menus on the UniVerse server itself to start and stop theUniRPC daemon.

Note: You cannot use XAdmin to start or stop the UniRPC daemon because it uses the UniRPCdaemon to connect to the UniVerse server.

Starting the UniRPC service (Windows only)

Complete the following steps to start the UniRPC service.

1. From the Start menu, click Control Panel, then click Administrative Tools, then click Services.Scroll down to UniRPC Service.

2. Right-click UniRPC service, then click Start.

Once you start the UniRPC daemon, it automatically restarts whenever you boot UniVerse.

Stopping the UniRPC service (Windows only)

Complete the following steps to stop the UniRPC service.

To stop the UniRPC service, right-click UniRPC Service from the Services dialog box, then click Stop.

Stopping the UniRPC service does not interrupt active UniRPC processes.

Starting the UniRPC daemon (UNIX only)

Complete the following steps to start the UniRPC daemon:

Note: The file that receives all error and system messages can grow unchecked unless you monitorit periodically.

Once you start the UniRPC daemon, it automatically restarts whenever you boot UniVerse.

1. Choose Rpc administration from the Package menu, then choose Start the rpc daemon.

Note: You can start the UniRPC daemon from the command line and specify the port that youwant it to listen on. For example, if you enter unirpcd -p1234, the UniRPC daemon willlisten on port 1234. The default port is 31438.

2. At the prompt, do one of the following to handle any error messages:▪ Enter the name of the file to send all error and system messages to.

▪ Enter a space to display messages on your screen.

▪ Press Enter if you do not want to display or save messages.

Page 201: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Stopping the UniRPC daemon (UNIX only)

201

3. At the next prompt, click Yes to start the UniRPC daemon or No to return to the Rpcadministration menu.

Stopping the UniRPC daemon (UNIX only)

To stop the UniRPC daemon:

Note: Stopping the UniRPC daemon does not interrupt active UniRPC processes.

1. Choose Rpc administration from the Package menu, then choose Halt the rpc daemon.2. At the prompt, click Yes to stop the UniRPC daemon or No to return to the Rpc administration

menu.

Defining the UniRPC port number (UNIX only)

Before you can use the UniRPC, you must specify the number of the port that the UniRPC is to use. Youspecify the port number on the client and the server systems.

About this task

Note: If you specify a port number other than the default, it must be the same on all systems thatcommunicate through the UniRPC.

Procedure

1. From the Admin Tasks view, expand Network Services, then double-click UniRPC.The current UniRPC daemon port number is displayed in the Port # field in the Network Servicestab.

2. To change the number, click Change.The Change Port Number dialog box is displayed. Enter a new number in the Enter new Portnumber field.

3. Click OK.The new port number is saved and the Network Services window is updated with the new setting.

Note: To use the new port number, you must restart the UniRPC daemon.

Maintaining the hosts file (UNIX only)

Use the Network Services option of XAdmin to add, modify, and remove nodes in the hosts file.

From the Admin Tasks view, select Network Services → UniRPC to perform the following tasks:

Adding a node

Complete the following steps to add a new node to the hosts file:

1. From the Admin Tasks view, select Network Services → UniRPC

Page 202: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 17: Managing network services

202

2. From the UniRPC Services window, click Add.The Add UniRPC Machine dialog box opens.

3. Enter the node name and address in the Machine Name and IP Address fields.4. Click OK.

The node’s machine name and IP address are checked against existing entries in the hosts file.If the node details match an existing entry, a message box displays. You must acknowledgethe message before you can enter alternative values. If the node details are unique, the nodedefinition is added to the hosts file and the UniRPC Services window is updated.

Modifying a node

To modify the name or IP address of an existing entry in the hosts file:

1. Choose the node to modify by doing the of the following:a. Double-click the node in the Hosts list.b. Choose the node and click Update.

The Update IP Address dialog box displays.2. Edit the entries in the Machine Name and IP Address fields.3. Click OK.

The node’s machine name and IP address are checked against existing entries in the hosts file.If the node details match an existing entry, a message box displays. You must acknowledgethe message before you can enter alternative values. If the node details are unique, the nodedefinition is added to the hosts file and the UniRPC Services window is updated.

Removing a node

To remove a node definition from the hosts file:

1. Select the node from the Hosts list.2. Click Delete.

A message box displays.3. Click Yes.

The node definition is removed from the hosts file and the UniVerse Network Services dialog boxis updated.

About the unirpcservices file

Each process that uses the UniRPC automatically configures the unirpcservices file whenit first starts up. If no unirpcservices file exists, it is created. This file is located in drive:\U2\unishared\unirpc (Windows) or /usr/unishared/unirpc (UNIX).

When a client system requests a connection to a service on a server system, the UniRPC daemon(UNIX) or service (Windows) (unirpcd) on the server uses the unirpcservices file to verify thatthe client system can start the requested service.

The UniRPC software uses field 3 of the unirpcservices file to verify that a machine making arequest for a service is allowed to do so. The following table lists the fields in the unirpcservicesfile:

Page 203: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

About the unirpcservices file

203

Attribute Description

1 The name of the UniRPC daemon or service (for example, uvserver).2 The full path of the service engine executed by the UniRPC daemon or service.3 The names of nodes allowed to execute this service. This field is multivalued, with

values separated by commas (no spaces). If the field contains * (asterisk), all hostsdefined in /etc/hosts can execute this service.

4 The network transport mechanism for the service (TCP/IP).5 Reserved for future use.6 The value (in seconds) specifying how long an open connection can be idle before

automatic closure from the remote connection. The default is 3600, or 60 minutes.

A unirpcservices file might contain entries shown in the following examples:

Windows:

uvcs C:\U2\UV\bin\uvapi_server.exe * TCP/IP 0 3600uvserver C:\U2\UV\bin\uvsrvd.exe * TCP/IP 0 3600uvnet C:\U2\UV\bin\uvnetd.exe * TCP/IP 0 3600uvdrsrv C:\U2\UV\bin\uvdrsrvd.exe * TCP/IP 0 3600uvfilefix C:\U2\UV\bin\uvfilefix_server.exe * TCP/IP 0 3600uvsub C:\U2\UV\bin\uvsub.exe * TCP/IP 0 3600uvrmconn C:\U2\UV\bin\uvrepconn.exe * TCP/IP 0 3600

UNIX:

uvnet /usr/uv/bin/uvnetd host1,host2,host3 TCP/IP 3 3600uvdrsrv /usr/uv/bin/uvdrsrvd * TCP/IP 0 3600uvcs /usr/uv/bin/uvapi_server * TCP/IP 0 3600uvfilefix /usr/uv/bin/uvfilefix_server * TCP/IP 0 3600uvserver /usr/uv/bin/uvsrvd * TCP/IP 0 3600

You can define a new service name for the UniObjects server with different parameter settings, suchas the timeout value, in the unirpcservices file. The log files are based on the serverdebugfile defined in the $UVHOME directory. To turn on the log files, you define uvcs loglevel xxxxto enable logging for all service names, such as uvcs, defcs, or uvcsdebug. If you define a newservice name in the unirpcservices file and specify that service in the serverdebug file,UniVerse only generates logs for that service name.

For Windows systems only: The location of the unirpcservices file can be determined from theWindows registry and can be found in HKLM\Software\Rocket Software\unishared registryentry.

For UNIX systems only:

▪ The location of the unirpcservices file can be found from the root level text file/.unishared.

▪ The version of uv.rc shipped with your system (/usr/uv/sample/uv.rc) containscommands that:▫ Check for the existence of the unirpcservices file

▫ Verify that services are defined in it

▫ Start the UniRPC daemon if the file contains services.

The UniRPC daemon is executed as part of the reboot procedure.

Page 204: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 17: Managing network services

204

For more information, see the chapters on client connection debugging log and settings in the RocketU2 Clients and APIs Administrative Server Settings and Logging for U2 Clients guide.

Enabling the use of legacy authentication (UNIX only)

As of UniVerse 12.1.1, you can use an option called !legacy_auth in the unirpcservices file.This option allows UNIX/Linux users to authenticate using legacy methods that fall back to local userauthentication in the event of a Pluggable Authentication Module (PAM) authentication failure (theprior behavior). Using local user authentication rules as a fall-back can result in any stricter PAM user-authentication policies being bypassed if there is a PAM authentication failure.

To set the !legacy_auth option, add the following line to the unirpcservices file:

/usr/uv/bin/service!legacy_auth * TCP/IP 0 3600

where service can be any service that requires user identification credentials.

For the uvnetd service only, you can use !legacy_auth together with !allow_nopassword, asshown in the following example:

/usr/uv/bin/uvnetd!allow_nopassword!legacy_auth * TCP/IP 0 3600

For more information about the !allow_nopassword option, see the section, Remote filepermissions, in the second chapter of the UniVerse UVNET User Guide.

Managing Windows Telnet sessions (Windows only)You can manage the Telnet service and Telnet users with XAdmin.

Modifying the Telnet session parameters

You can modify any of the Telnet server parameters in XAdmin using the Telnet tab .

Prerequisites

Note: To use the new settings, you must save, stop, and restart the UniData Telnet service orUniVerse Telnet service.

Page 205: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Modifying the Telnet session parameters

205

Procedure

1. From the Admin Tasks view, expand Network Services and double-click Telnet.The Telnet tab opens, as shown in the following UniVerse example.

2. To change the port number for the Telnet service, enter the new port number in the Port # field.By default, the telnet port number is set to 23.

UniVerse stores the Telnet port number on the Windows server as a uvtelnet entry in theWindows registry.

UniData stores the Telnet port number on the Windows server as a TELNET_SOCKET_NUM entryin the Windows registry.

3. To disable the Telnet port, click the Disable Telnet Port check box.4. In the SSL Port # field, enter the SSL port number that the Telnet service should monitor for client

connections. The default value for the SSL Port number is 992. It is not recommended to changethis unless you have another service that requires port 992.

5. To disable the SSL telnet port, click the Disable SSL Telnet Port check box.6. Specify the user policy by selecting one of the following options:

▪ Home Account - Users connect to their home directory, which must be a valid UniVerseaccount.

▪ Home Directory - Users connect to their home directory. If the home directory is not aUniVerse account, users are prompted to set up the account. This is the default setting.

▪ Any Account - Users can connect to any valid UniVerse account.

▪ Any Directory - Users can connect to any directory. If the directory is not a UniVerse account,UniVerse prompts to set up the account.

▪ UV Account - Specifies that the user connects to an existing UniVerse account in theUV.LOGINS file.

▪ UV Directory - Users connect to a directory defined in the UV.LOGINS file, and can create aUniVerse account in that directory if the directory is not already configured for UniVerse.

Administrators are prompted for the account to which they want to connect regardless of theUser Policy setting.

7. Set the Telnet connection parameters:a. In the Max. Logon Attempts field, define the number of failed log in attempts a user is

allowed before the Telnet connection is dropped. The default setting is 4.

Page 206: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 17: Managing network services

206

b. In the Logon Pause field, enter the number of seconds to pause between login attempts if alogin attempt fails. The default is 4 seconds.

c. In the Logon Timeout field, enter the time, in seconds, that the system waits for a responseto a login prompt. When the timeout occurs, the Telnet connection is dropped. The default is30 seconds.

d. In the Termination Pause field, enter the number of seconds to pause after the final failedlogin attempt. After the specified pause, the connection is dropped. The default is 4 seconds.When the Telnet client is closed without logging out, the ON.EXIT command is notexecuted. This can cause an unhandled exception or access violation in the event log.Change the termination pause to increase the time and allow the main thread to exitproperly.

8. Set the keep alive parameters by selecting the Keep Alive check box. The Keep Alive featuredetermines when inactive connections can be disconnected. When a connection becomesinactive, keep-alive packets are periodically exchanged. When a number of consecutive packetsremain unanswered, by default 20, the connection is broken.a. In the Keep Alive Interval field, enter the interval, in milliseconds, to separate keep alive

retransmissions until a response is received. Once a response is received, the delay until thenext keep alive transmission is controlled by the value of Keep Alive Time. After the numberof retransmissions specified by Max. Data Retransmissions are unanswered, the connectionaborts. The default value is 1000 (one second).

b. In the Keep Alive Time field, specify how often TCP attempts to verify that an idleconnection is still valid by sending a keep alive packet. If the connection is still valid, theremote system will acknowledge the keep alive transmission. The default value is 7,200,000milliseconds (two hours).

c. In the Max. Data Retransmissions field, specify the number of times TCP retransmits anindividual data segment before aborting the connection. The retransmission timeout isdoubled with each successive retransmission on a connection. It is reset when responsesresume.

9. In the Backlog queue field, enter the maximum length of the queue of pending Telnetconnections. The default value is 14.

10. Select the Detach process check box to create the process as detached.11. Select the Create desktop check box to create the Telnet service on its own WinStation/Desktop

and assign it to the process.12. Select the SSL Protocols check boxes to choose which SSL protocols will be enabled for use with

SSL Telnet. By default, TLSv1, TLSv1.1, and TLSv1.2 are enabled at install. For some outdatedSSL Telnet client software, newer protocols, such as TLSv1.1 and TLSv1.2, may not be supported.It is not recommended to enable SSLv3.

Note: The ability to changes these protocols is only available if you are running UniData 8.2.1or UniVerse 11.3.2 or higher.

13. Select the SSL Options radio buttons to change options for use with SSL Telnet. By default,NO_TLS_FALLBACK_SCSV is selected and recommended. TLS_FALLBACK_SCSV is used toprevent protocol downgrade (i.e. POODLE attack). Since both client and server need to supportthis for it to work, it is recommended to keep the default setting of NO_TLS_FALLBACK_SCSV inplace. TLS_FALLBACK_SCSV should not be set unless it can be verified that all SSL Telnet clientsoftware in use supports signaling cipher suite values and protocol downgrade is preferred to beprevented.

14. In the Logon Banner field, enter the text that uses see when they connect to the host.15. In the SSL Logon Banner field, enter a message to display when a user connects using SSL.16. Click OK to save the new settings. Changed settings do not affect Telnet sessions that are already

started. New sessions started after the service parameters were changed use the new parameters.

Page 207: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Starting, stopping, and pausing the Telnet server

207

Starting, stopping, and pausing the Telnet server

Use the Telnet tab to control the Telnet server. You can alternatively use the Control Panel to controlthe server.

1. From the Admin Tasks view, expand Network Services and double-click Telnet.2. Click Start to start the Telnet Server.3. Click Stop to stop the Telnet Server.

Note: Stop and Pause have the same functionality. Once a user logs on through Telnet, theirprocess is not affected by Pause or Stop. Pause and Stop both prevent additional users to logon through Telnet.

4. Click Pause to pause the Telnet Server.

Adding, updating, or deleting Telnet users

Add a Telnet user on the Telnet Users tab. You can also update any currently existing users or removethem.

About this task

The UV.LOGINS file, which resides in the UV account, contains a list of users and the directories orUniVerse accounts they log on to when they first invoke UniVerse from a Telnet session.

You can enter users logging on to the system both from the local machine and from domains. You canalso maintain entries for users who have accounts on multiple domains with access to this system. Youcan specify the user’s account either as a case-sensitive entry in the UV.ACCOUNTS file, or as a fullyqualified path.

If the user logs on to the system using a local machine login ID, UniVerse uses the Local Machine entry.If the user logs on to the system through a domain, UniVerse uses the entry for the domain. If the userenters a login ID without a machine or domain name, UniVerse first uses a local machine login ID if itexists, and then checks domain login IDs.

Page 208: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 17: Managing network services

208

Procedure

1. From the Admin Tasks view, expand Network Services and double-click Telnet Users.The Telnet Users tab displays, as shown in the following example.

2. Click Add.A dialog box similar to the following example displays.

3. To add a domain user, from the Domain area, click Add.a. In the Add Domain Information dialog box that displays, in the Domain field, enter the name

of the domain to which you want the user to connect.b. In the Account/Path field, enter the full path to the account to which the user is to connect,

or click Browse to search for the account.c. Click OK to save the new user.

4. To add a local machine user, from the Local Machines area, click Add.a. In the Local Machine Account Details dialog box that displays, in the Local Machine field,

enter the name of the local machine to which you want the user to connect.

Page 209: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Pluggable Authentication Module (PAM) (UNIX only)

209

b. In the Account/Path field, enter the full path to the account to which the user is to connect,or click Browse to search for the account. Click OK.

5. To update a Telnet user, select the user, and then click Update to modify the previouslydescribed fields.

6. To delete a Telnet user, select the user, and then click Delete to remove them.

Pluggable Authentication Module (PAM) (UNIX only)The PAM framework is a suite of shared libraries and modules on UNIX platforms that enable thelocal system administrator to choose how applications authenticate users. You can switch betweenauthentication mechanisms without rewriting and recompiling a PAM-aware application. You can plugin mechanisms for account, session, and password management through the PAM framework.

How UniVerse authentication currently works

Currently, UniVerse reads the encrypted password for a user from the passwd or the shadow file,then compares it with the encrypted form of the password the user supplies. If the passwords match,UniVerse authenticates the user and grants access to the system. If the passwords do not match theuser’s request is rejected.

PAM support

UniVerse 12.1.1 supports the PAM framework for the following products:

▪ UniObjects

▪ UniObjects for Java

▪ UniObjects for .NET

▪ InterCall

▪ JDBC Driver for UniData and UniVerse

▪ UniVerse ODBC

▪ UniOLEDB

UniVerse will not access LDAP servers directly from any of its servers, and will not support singlesign-on. UniVerse will authenticate a client each time it tries to connect to a server, whether or notsuccessful authentication occurred during a previous connection attempt.

When the server receives the user ID and password, UniVerse will first try to authenticate the userusing the traditional UNIX method. If that attempt fails, UniVerse will call PAM to check the validity ofthe user. If both attempts fail, the connection is denied.

▪ Telnet Port # - This field displays the TCP port that the telnet session uses. This is taken from theservices file. If a uvtelnet entry exists in the services file, this is the number XAdmin displays. Ifthese entries do not exist in the services file, XAdmin displays the default port number, 23.

▪ User Policy - The User Policy setting determines how the telnet session is used when a user makesa telnet connection.

Page 210: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 17: Managing network services

210

▪ Connection Parameters - Connection Parameters are the current connection values for the telnetservice. UniVerse stores these parameters in the Windows Registry on the Server.

▪ Keep Alive Parameters - The Keep Alive parameters determine intervals when UniVerse checks theviability of a network connection between the client and server.

Modifying the Telnet session parameters

You can modify any of the Telnet server parameters in XAdmin using the Telnet tab .

Prerequisites

Note: To use the new settings, you must save, stop, and restart the UniData Telnet service orUniVerse Telnet service.

Procedure

1. From the Admin Tasks view, expand Network Services and double-click Telnet.The Telnet tab opens, as shown in the following UniVerse example.

2. To change the port number for the Telnet service, enter the new port number in the Port # field.By default, the telnet port number is set to 23.

UniVerse stores the Telnet port number on the Windows server as a uvtelnet entry in theWindows registry.

UniData stores the Telnet port number on the Windows server as a TELNET_SOCKET_NUM entryin the Windows registry.

3. To disable the Telnet port, click the Disable Telnet Port check box.4. In the SSL Port # field, enter the SSL port number that the Telnet service should monitor for client

connections. The default value for the SSL Port number is 992. It is not recommended to changethis unless you have another service that requires port 992.

5. To disable the SSL telnet port, click the Disable SSL Telnet Port check box.6. Specify the user policy by selecting one of the following options:

▪ Home Account - Users connect to their home directory, which must be a valid UniVerseaccount.

Page 211: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Modifying the Telnet session parameters

211

▪ Home Directory - Users connect to their home directory. If the home directory is not aUniVerse account, users are prompted to set up the account. This is the default setting.

▪ Any Account - Users can connect to any valid UniVerse account.

▪ Any Directory - Users can connect to any directory. If the directory is not a UniVerse account,UniVerse prompts to set up the account.

▪ UV Account - Specifies that the user connects to an existing UniVerse account in theUV.LOGINS file.

▪ UV Directory - Users connect to a directory defined in the UV.LOGINS file, and can create aUniVerse account in that directory if the directory is not already configured for UniVerse.

Administrators are prompted for the account to which they want to connect regardless of theUser Policy setting.

7. Set the Telnet connection parameters:a. In the Max. Logon Attempts field, define the number of failed log in attempts a user is

allowed before the Telnet connection is dropped. The default setting is 4.b. In the Logon Pause field, enter the number of seconds to pause between login attempts if a

login attempt fails. The default is 4 seconds.c. In the Logon Timeout field, enter the time, in seconds, that the system waits for a response

to a login prompt. When the timeout occurs, the Telnet connection is dropped. The default is30 seconds.

d. In the Termination Pause field, enter the number of seconds to pause after the final failedlogin attempt. After the specified pause, the connection is dropped. The default is 4 seconds.When the Telnet client is closed without logging out, the ON.EXIT command is notexecuted. This can cause an unhandled exception or access violation in the event log.Change the termination pause to increase the time and allow the main thread to exitproperly.

8. Set the keep alive parameters by selecting the Keep Alive check box. The Keep Alive featuredetermines when inactive connections can be disconnected. When a connection becomesinactive, keep-alive packets are periodically exchanged. When a number of consecutive packetsremain unanswered, by default 20, the connection is broken.a. In the Keep Alive Interval field, enter the interval, in milliseconds, to separate keep alive

retransmissions until a response is received. Once a response is received, the delay until thenext keep alive transmission is controlled by the value of Keep Alive Time. After the numberof retransmissions specified by Max. Data Retransmissions are unanswered, the connectionaborts. The default value is 1000 (one second).

b. In the Keep Alive Time field, specify how often TCP attempts to verify that an idleconnection is still valid by sending a keep alive packet. If the connection is still valid, theremote system will acknowledge the keep alive transmission. The default value is 7,200,000milliseconds (two hours).

c. In the Max. Data Retransmissions field, specify the number of times TCP retransmits anindividual data segment before aborting the connection. The retransmission timeout isdoubled with each successive retransmission on a connection. It is reset when responsesresume.

9. In the Backlog queue field, enter the maximum length of the queue of pending Telnetconnections. The default value is 14.

10. Select the Detach process check box to create the process as detached.11. Select the Create desktop check box to create the Telnet service on its own WinStation/Desktop

and assign it to the process.12. Select the SSL Protocols check boxes to choose which SSL protocols will be enabled for use with

SSL Telnet. By default, TLSv1, TLSv1.1, and TLSv1.2 are enabled at install. For some outdatedSSL Telnet client software, newer protocols, such as TLSv1.1 and TLSv1.2, may not be supported.It is not recommended to enable SSLv3.

Page 212: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 17: Managing network services

212

Note: The ability to changes these protocols is only available if you are running UniData 8.2.1or UniVerse 11.3.2 or higher.

13. Select the SSL Options radio buttons to change options for use with SSL Telnet. By default,NO_TLS_FALLBACK_SCSV is selected and recommended. TLS_FALLBACK_SCSV is used toprevent protocol downgrade (i.e. POODLE attack). Since both client and server need to supportthis for it to work, it is recommended to keep the default setting of NO_TLS_FALLBACK_SCSV inplace. TLS_FALLBACK_SCSV should not be set unless it can be verified that all SSL Telnet clientsoftware in use supports signaling cipher suite values and protocol downgrade is preferred to beprevented.

14. In the Logon Banner field, enter the text that uses see when they connect to the host.15. In the SSL Logon Banner field, enter a message to display when a user connects using SSL.16. Click OK to save the new settings. Changed settings do not affect Telnet sessions that are already

started. New sessions started after the service parameters were changed use the new parameters.

Page 213: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

213

Chapter 18: Managing ipc facilitiesThis chapter describes commands and procedures that monitor the use of message queues andsemaphores, and describes how to clear message queues and remove queues when necessary tocorrect problems.

Displaying IPC facilities with uvipcstat (Windows only)The uvipcstat command displays a list of all IPC facilities (message queues, semaphores, andshared memory segments) in use on a system, and identifies those facilities that are used by UniVerseprocesses. You do not need to log on as as an Administrator on Windows or as root on UNIX to executeuvipcstat.

Syntax

uvipcstat [-q] [-m] [-s] [-g] [-b] [-c] [-o] [-p] [-t] [-a] [-n]

The following screen shows an example of uvipcstat output:

# bin/uvipcstat IPC status from /dev/mem as of Wed Jul 20 23:13:55 MDT 2016 T ID KEY MODE OWNER GROUP Message Queues: q 0 0x4107001c -Rrw-rw---- root printq -> unknown q 13631489 0xffffffff -Rrw-rw-rw- root system -> uvrm R11.3 (request) q 15728642 0xace0ad11 -Rrw------- root system -> unknown q 15728643 0xffffffff -Rrw-rw-rw- root system -> uvsmm R11.3 (request) q 12582916 0xffffffff --rw-rw-rw- root system -> uvrm R11.3 (reply) q 15728645 0xffffffff --rw-rw-rw- root system -> uvsmm R11.3 (reply) q 12582918 0xacea0207 -Rrw-rw-rw- root 7602412 -> uv R11.3 (spooler) Shared Memory: m 0 0xffffffff D-rw------- pconsole system -> unknown m 27262977 0xffffffff --rw-rw-rw- root system -> uvsmm R11.3 (shmbuf) m 3 0x61003007 --rw------- pconsole system -> unknown m 17825804 0x780007ad --rw-rw-rw- root system -> unknown m 13631502 0x78000100 --rw-rw-rw- root system -> unknown m 2097171 0x7800020a --rw-rw-rw- root system -> unknown m 2097176 0x78100100 --rw-rw-rw- root system -> unknown

Page 214: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 18: Managing ipc facilities

214

m 36700192 0xffffffff --rw-rw-rw- root system -> uvrm R11.3 (ctl) m 180355116 0xacecb300 --rw-rw-rw- root system -> uv R11.3 (disk) m 20971585 0x0d000c13 --rw-rw---- root system -> unknown m 11534515 0xace0ad01 --rw-rw-rw- root system -> unknown Semaphores: s 3145728 0x0104002a --ra-ra-r-- root system -> unknown s 1 0x620000ed --ra-r--r-- root system -> unknown s 2 0xffffffff --ra------- root system -> unknown s 3 0x02000779 --ra-ra-ra- root system -> unknown s 4 0x01000779 --ra-ra-ra- root system -> unknown s 16777222 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 16777223 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 16777224 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 16777225 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 15 0x81003006 --ra------- pconsole system -> unknown s 7340048 0xffffffff --ra-ra-ra- root system -> unknown s 13631505 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 13631506 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 13631507 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 13631508 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 13631509 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (ctl) s 15728662 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (uvcleanupd) s 10485783 0xffffffff --ra-ra-ra- root system -> unknown s 15728664 0xace0adb1 --ra-ra-ra- root system -> unknown s 13631513 0xace0adb2 --ra-ra-ra- root system -> unknown s 13631514 0xace0adb3 --ra-ra-ra- root system -> unknown s 11534363 0xffffffff --ra-ra-ra- root system -> unknown s 13631516 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631517 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631518 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631519 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch)

Page 215: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Displaying IPC facilities with uvipcstat (Windows only)

215

s 13631520 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631521 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631522 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631523 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631524 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631525 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631526 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631527 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631528 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631529 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 5242922 0xffffffff --ra-ra-ra- root system -> unknown s 13631531 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631532 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631533 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631534 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631535 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 13631536 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 49 0xffffffff --ra-ra-ra- root system -> unknown s 14680114 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 1048627 0xffffffff --ra-ra-ra- root system -> unknown s 52 0xa10001a1 --ra-ra-ra- root system -> unknown s 11534393 0xace0adb6 --ra-ra-ra- root system -> unknown s 10485818 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 14680125 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 4194366 0xffffffff --ra-ra-ra- root system -> unknown s 14680127 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 14680128 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 14680129 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 15728706 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 14680131 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 13631556 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 13631557 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch)

Page 216: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 18: Managing ipc facilities

216

s 9437254 0xffffffff --ra-ra-ra- root system -> unknown s 14680135 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 14680136 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 14680137 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 14680138 0xffffffff --ra-ra-ra- root system -> uvsmm R11.3 (latch) s 14680139 0xace0adb4 --ra-ra-ra- root system -> unknown s 13631564 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 13631565 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting) s 13631566 0xffffffff --ra-ra-ra- root system -> uvrm R11.3 (waiting)

Note: UniVerse does not use all of the IPC facilities on the system. The output from uvipcstatindicates which ones are used by UniVerse processes. The ones that correspond to “unknown” arenot associated with UniVerse daemons or services.

Removing IPC structures with uvipcrm (UNIX only)The uvipcrm command uses the UNIX ipcrm command to remove any and all IPC facilitiesassociated with any UniVerse process. After an abnormal shutdown, you might be unable to startUniVerse because some IPC facilities did not stop cleanly. You can use either the UNIX ipcrmcommand or uvipcrm to remove them.

Syntax

uvipcrm

The uvipcrm command is related to the uvipcstat command. uvipcstat lists all IPC facilitiescurrently in use on a system, and identifies which ones are used by UniVerse processes. uvipcrm onlyremoves the ones associated with UniVerse.

Warning: Do not use uvipcrm to shut down UniVerse. Use this command only if UniVerse isdown, you cannot restart UniVerse, and there are IPC facilities that did not stop normally. Use thesystem-level command showuv to verify that the UniVerse daemons are not running, and useuvipcstat to identify IPC facilities that did not stop normally. See Managing ipc facilities , onpage 213 for more information.

UniVerse log filesWhen you start UniVerse, the uvsmm and sbcs daemons record in their logs (uvsmm.log andsbcs.log) information about the ipc facilities they are using.

Note: Occasionally, UniVerse problems result from another process inadvertently removing oneof the UniVerse message queues. You can compare the log files with uvipcstat output to findout if this is the cause of a hang or system failure. If a queue is removed, the initial list from theappropriate log includes the queue, but uvipcstat does not include the queue.

Page 217: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Removing ipc structures

217

Removing ipc structuresCertain types of system failures cause ipc facilities that are associated with UniVerse to be left afterUniVerse was been shut down. This problem can occur if the system crashes or if one of the daemonsis inadvertently killed. In such cases, restarting UniVerse fails because of the remaining ipc structures.You may see symptoms like the following:

▪ The uv -admin -start command fails.

▪ A message displays in the uv -admin -start window that indicates uvsmm is still running.

▪ Running showuv indicates uvsmm is not running.

If you encounter these symptoms, complete the following steps:

1. Check for remaining facilities

Enter the UniVerse uvipcstat command at the UNIX prompt. If the output shows structures that areassociated with UniVerse processes, run showuv to see if any UniVerse daemons are running.

▪ If daemons are running, proceed to step 2.

▪ If ipc facilities exist, but no daemons, proceed to step 3.

▪ If no UniVerse daemons are running and no ipc facilities, research other causes for the startupfailure.

Tip: Occasionally uvicpstat fails to complete. You can obtain the information that youneed by running the UNIX ipcs command and comparing the output with uvsmm.log andsbcs.log to identify UniVerse structures.

2. Stop UniVerse

If showuv indicates that none of the UniVerse daemons is running, proceed to step 3. Otherwise, runthe uv -admin -stop command. This command stops the daemons appropriately. Then proceedto step 3.

3. Decide how to proceed

Use the UniVerse uvipcrm command (step 4) or the UNIX ipcrm command (step 5).

4. Remove ipc facilities with uvipcrm

Log on as root, and enter the uvipcrm command at a UNIX prompt. This command removes all ipcfacilities that are associated with UniVerse processes. The following screen shows the output fromuvipcrm:

# $UVBIN/uvipcrmipcrm: msqid(1106): not foundipcrm: msqid(1107): not foundipcrm: msqid(1108): not found

Page 218: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 18: Managing ipc facilities

218

ipcrm: msqid(1109): not found...ipcrm: shmid(4308): not foundipcrm: shmid(2709): not foundipcrm: shmid(513): not foundipcrm: shmid(414): not foundipcrm: semid(708): not found#

The “not found” messages appear because resources forced out by uvipcrm try to send messages toones that are already gone.

After successfully completing uvipcrm, you should be able to restart UniVerse. Proceed to step 6; youdo not need to complete step 5.

5. Remove ipc facilities with UNIX ipcrm

The UNIX ipcrm command removes specific ipc facilities by specifying their identifiers. For thisreason, ipcrm is easy to use if you are removing only a few facilities.

Refer to your host operating system documentation for detailed information about the ipcrmcommand. You must log on as root to run it. You need the output from uvipcstat to identify theresources to remove. Note the type (column 1 of uvipcstat output; must be m, q, or s) and the ID(column 2 of uvipcstat output).

The following screen shows an example of uvipcstat - q output:

# $UDTBIN/ipcstat -qIPC status from /dev/mem as of Thu Jan 5 07:22:12 MST 2012T ID KEY MODE OWNER GROUPMessage Queues:q 0 0x4107001c -Rrw-rw---- root printq -> unknownq 45088769 0xffffffff --rw-rw-rw- root system -> tm R8.1.1q 45088770 0xffffffff --rw-rw-rw- root system -> udt R8.1.1q 48234499 0xffffffff --rw-rw-rw- root system -> tm R8.1.1q 44040196 0xffffffff --rw-rw-rw- root system -> tm R8.1.1q 45088773 0xffffffff --rw-rw-rw- root system -> udt R8.1.1q 39845894 0xffffffff --rw-rw-rw- root system -> udt R8.1.1q 48234503 0xffffffff --rw-rw-rw- root system -> udt R8.1.1q 46137352 0xffffffff --rw-rw-rw- root system -> udt R8.1.1q 40894473 0xffffffff --rw-rw-rw- root system -> udt R8.1.1q 44040202 0xffffffff -Rrw-rw-rw- root system -> smm R8.1.1 (request)q 42991627 0xffffffff --rw-rw-rw- root system -> udt R8.1.1q 44040204 0xffffffff -Rrw-rw-rw- root system -> cm R8.1.1q 44040205 0xffffffff --rw-rw-rw- root system -> tm R8.1.1q 42991630 0xffffffff --rw-rw-rw- root system -> smm R8.1.1 (reply)q 45088783 0xffffffff --rw-rw-rw- root system -> tm R8.1.1q 44040208 0xffffffff --rw-rw-rw- root system -> tm R8.1.1q 40894481 0xffffffff --rw-rw-rw- root system -> tm R8.1.1q 46137362 0xffffffff --rw-rw-rw- root system -> udt R8.1.1q 41943059 0xffffffff --rw-rw-rw- root system -> udt R8.1.1q 5242900 0xffffffff --rw-rw-rw- root system -> unknownq 45088789 0xffffffff --rw-rw-rw- root system -> tm R8.1.1q 50331670 0xffffffff --rw-rw-rw- root system -> udt R8.1.1q 5242903 0xffffffff --rw-rw-rw- root system -> unknownq 44040216 0xffffffff --rw-rw-rw- root system -> tm R8.1.1q 39845913 0xffffffff --rw-rw-rw- root system -> sbcs R8.1.1 (fromsbcs)q 39845914 0xffffffff --rw-rw-rw- root system -> sbcs R8.1.1 (newversion)q 60817435 0xffffffff --rw-rw-rw- root system -> tm R8.1.1q 40894492 0xffffffff -Rrw-rw-rw- root system -> sbcs R8.1.1 (tosbcs)q 53477405 0xffffffff --rw-rw-rw- root system -> sm R8.1.1

Page 219: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

6. Restart UniVerse

219

q 17825822 0xffffffff --rw-rw-rw- root system -> unknownq 17825823 0xffffffff --rw-rw-rw- root system -> unknownq 50331680 0xffffffff -Rrw-rw-rw- root system -> rm R8.1.1 (request)q 39845921 0xffffffff --rw-rw-rw- root system -> rm R8.1.1 (reply)#

Warning: Exercise extreme caution when removing ipc resources. Removing the wrong ones willcause problems elsewhere on the system.

6. Restart UniVerse

Once you remove the ipc facilities that were left over, you should be able to restart UniVerse with theuv -admin -start command. UniVerse should restart normally.

Note: If UniVerse will not start, repeat steps 1 through 6. If UniVerse still will not start, theproblem is unrelated to ipc facilities. Examine the error logs in uvbin (uvsmm.errlog andsbcs.errlog) and resolve all indicated error conditions.

Page 220: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

220

Chapter 19: Device licensingThis chapter describes how to use UniVerse’s device licensing system.

Users accessing a UniVerse server through one or more client application programs may want toput their licensing scheme on a one-license-per-device basis. Such applications often open multipleconnections to a UniVerse server. For example, an application might use one connection to browse,another connection to check data, yet another connection to update the database, and so forth.

Before UniVerse release 9.5, each connection to the server consumed its own separate license, eventhough only one user was using all those connections from one PC. UniVerse’s device licensing letssuch users consume one UniVerse license for up to 10 connections to the server from a single PC.

Device licensing requirementsDevice licensing has the following requirements:

▪ Clients must run on a Windows platform.

▪ Clients must run on a LAN or TCP/IP with an Ethernet card. Beginning at UniVerse 11.2.3, LAN is nolonger supported.

▪ For telnet connections to UNIX servers, device licensing must be enabled.

UniVerse licensing modesUniVerse provides two licensing modes:

▪ Session licensing

▪ Device licensing

Session licensing

Session licensing is like the UniVerse licensing system used before Release 9.5. Every connection fromtelnet or a UniVerse API, even from the same PC, consumes one database license. Session licensinghas been enhanced to include a licensing tool, uvlictool, that reports on the current licensing state andcleans up current licensing.

Device licensing

Device licensing, sometimes called client-side licensing, tries to combine all remote connections froma single device to a UniVerse server at both the UniVerse license level and the package level.

Device licensing currently works with the following connection types:

▪ XAdmin

▪ UniVerse ODBC

▪ UCI

▪ UniObjects

▪ UniObjects for Java

▪ UniObjects for .NET

▪ InterCall

Page 221: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Connection types

221

▪ Telnet connections such as:▫ SB Client

▫ wIntegrate

▫ Dynamic Connect

Note: Device licensing does not work with UV/Term.

Connection typesEach PC can have up to ten connections to the server, but not all connections from a PC can becombined.

There are three ways to connect to a UniVerse server:

• Direct connectionsDirect connections are not really client/server connections because there is no real client.

• Two-tier connectionsTwo-tier connections are typical client/server connections where a client application connects to aUniVerse server either on the same machine or on a different machine.

• Multiple-tier connectionsMultiple-tier connections are client applications that connect from a PC to a UniVerse server eitherthrough one or more different PCs, or through an application server component.

Direct connections

Direct connections are not really client/server connections because there is no real client.

Examples of direct connections are:

▪ Directly invoking UniVerse on a system

▪ TTY serial line

Parent topic: Connection types

Two-tier connections

Two-tier connections are typical client/server connections where a client application connects to aUniVerse server either on the same machine or on a different machine.

Telnet connections to UniVerse are an example of a two-tier connection.

Client applications running on PCs different from the UniVerse server appear to the server with uniqueidentifiers.

Parent topic: Connection types

Page 222: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 19: Device licensing

222

Multiple-tier connections

Multiple-tier connections are client applications that connect from a PC to a UniVerse server eitherthrough one or more different PCs, or through an application server component.

Examples of multiple-tier connections are:

▪ An HTTP server running scripts that use UniObjects or UniObjects for Java.

▪ An application that connects first to an application server either on a different PC or on the serversystem. The application server connects to the UniVerse server.

Parent topic: Connection types

Enabling telnet device licensing on UNIX servers (UNIXonly)

Use the shell command uvdls to enable device licensing for telnet connections to a UNIX server.When you telnet to a UNIX server, you can:

▪ Enter the uvdls command instead of the uv command to log on to UniVerse

▪ Configure your UniVerse initialization script (.profile, .cshrc, and so forth) or your terminalemulator to use uvdls instead of uv to log on directly to UniVerse

▪ Some telnet client programs let you enable device licensing from the client. See your telnet clientdocumentation for details.

Using device subkeysEach PC that connects immediately to the UniVerse server can have up to ten connections per license.

Using multiple-tier connections, each PC that connects to an intermediate application componentconsumes a separate license. But each of these PCs, at one or more removes from the server, can haveup to ten connections.

In order for a PC to have multiple connections to the UniVerse server and still consume only onelicense, users must ensure that each PC connecting to the server through another system specify aunique device subkey before requesting a connection to the server. This subkey is a string of up to 24characters. All client applications on a given device that connect to one UniVerse server must use thesame unique subkey.

Note: To use subkeys, you must set the SUBKEY:1 licensing flag.

Using the license tool uvlictoolUse uvlictool to report on the current state of UniVerse licensing and to clean up current licensing.You must be a UniVerse Administrator to use uvlictool.

Page 223: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Using the license tool uvlictool

223

Note: Starting at UniVerse 11.3.1, the IPv6 protocol is supported. IPv6 compatibility provides theability to create more IP addresses, as IPv4 addresses are running out. In addition, IPv6 utilizes amore secure data package. However, UniVerse device licensing is not supported on IPv6 protocolsat this time. If you are connected using an IPv6-only client, the uvlictool command displays127.0.0.1 (localhost) as the IP address.

The uvlictool also does the following:

▪ Lists a report on license use at both the UniVerse and the package level.

▪ Identifies the process that owns the license, and lists package licenses it holds.

▪ Identifies the remote device holding the license. Applies to UniVerse 11.2.2 or earlier.

▪ On UNIX systems, uvlictool clean_lic -a cleans up the current licenses based on sharedmemory segments associated with dead processes. With this option, uvlictool scans thelicense table and releases any license associated with a pid that is not a valid UniVerse process.Applies to UniVerse 11.2.2 or earlier and 11.3.1 or later.

▪ On Windows platforms, uvlictool clean_lic -a cleans up the current licenses basedon dead entries in the process table. With this option, uvlictool scans the license table andreleases any license associated with a pid that is not a valid UniVerse process. Applies to UniVerse11.2.2 or earlier and 11.3.1 or later.

▪ Recomputes license counts at the UniVerse, package, and seat levels. Applies to UniVerse 11.2.2 orearlier.

Syntax

uvlictool [check_acctlic] [list_acctlic] [ reload_acctlic] [report_lic[logical_account_name]] [clean_lic [-a]]

Parameter Description

check_acctlic Checks the syntax of the $UVHOME/acct_licn.def file and reports anyerrors found.

list_acctlic Lists the current loaded account-based license and its usage.reload_acctlic Reloads the $UVHOME/acct_licn.def file so that new definitions are

applied.report_lic Lists the current licensing state. Beginning at UniVerse 11.2.3, the report_lic

parameter has been augmented with logical_account_name option. If thelogical_account_name is specified, only the users in the specified logicalgroup will be listed.

clean_lic Cleans up the current licensing state. With this option, uvlictool scansthe license table and releases any license associated with a pid that is not avalid UniVerse process.

Note: This option was disabled at version 11.2.2, but is re-enabled startingat version 11.3.1. The uvcleanupd daemon performs the same function asthe clean_lic option of uvlictool when it runs on its regularly scheduledinterval.

Page 224: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 19: Device licensing

224

Parameter Description

-a Recomputes license counts at the UniVerse, package, and seat level.

Note: This option was disabled at version 11.2.2, but is re-enabled startingat version 11.3.1. The uvcleanupd daemon performs the same function asthe clean_lic option of uvlictool when it runs on its regularly scheduledinterval.

Page 225: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

225

Chapter 20: Account-based licensingThis chapter describes how to use UniVerse’s account-based licensing system.

Using account-based licensing, you can divide the number of purchased licenses to different accountsor group of accounts. These account groups are referred to as logical account IDs. You define thenumber of licenses to allocate to each logical account ID, then UniVerse automatically manages thelicenses consumed based on the configuration you define.

At current UniVerse versions, if you use device licensing connections, you cannot connect to multiplelogical account-based licensing groups from the same client machine. This restriction does not applyto installations that do not have device licensing enabled.

Defining the license configurationTo define the license configuration, you create a text file in the $UVHOME directory calledacct_licn.def.

The following example illustrates the format of this file:

# Licn Account ID Seats/DB Seats/CNPL Account Descriptiondemo-acct 5 3 ABC, Inc. C:\disk1\u2demo1 C:\disk1\uddemo2 . . .dev-acct 10 7 DEF Corp. C:\disk2\dev1 C:\disk2\dev2

Note: UniVerse treats any line beginning with “#” as a comment.

The Licn Account ID column of the acct_licn.def file defines the logical account ID, whichcan contain any number of accounts. In the above example, the demo-acct ID contains the C:\disk1\u2demo1 and C:\disk1uddemo2 accounts. You must specify the fully qualified path foreach account.

The Seats/DB column specifies the number of regular licenses assigned to the account ID.

The Seats/CNPL column specifies the number of connection pooling licenses assigned to the accountID.

The Account Description column can contain any information you want to add about the account IDs.

The total number of seats you specify for Seats/DB and Seats/CNPL cannot exceed the totalnumber of licenses purchased. If you do not specify the total number of licenses purchased in theacct_licn.def file, UniVerse allocates them to the “Default” logical account ID, which is the logicalaccount ID containing all other accounts on the system not specified in this file.

Note: When connecting to UniVerse through one of the database tools, the tool connects to the UVaccount by default. You should allocate 1 license to the Default account ID if you are connecting toUniVerse through a tool, or specify a different account to which you are connecting from the toolduring the connection process.

Page 226: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 20: Account-based licensing

226

Configuring account-based licenses with XAdmin

You can use XAdmin to configure account-based licensing.

1. From the Admin Tasks view, double-click License, and then click the Account-based License tab.The Account-based License view displays as shown in the following example:

2. In the Physical Path to Logical License Account Definition field, click Add.3. In the dialog box that displays, in the Path field, enter the full path to the account to which you

want to allocate licenses, or click Browse to locate the account.4. In the License Account ID field, enter the logical license account ID for the account. Click OK.5. In the Logical Account License Seat Configuration area, click Add.6. From the Add License dialog box, expand the Licn Account ID list and select the Logical Account

ID to which you want to allocate licenses.7. In the Seats/DB field, enter the number of database licenses you want to allocate to the account.8. In the Seats/CNPL, field the number of connection pool licenses you want to allocate to the

account.9. Optional: Enter a description for the license account ID license allocation in the Description field.10. Click Save.

UniVerse creates the acct_licn.def file.

If you change the configuration outside of XAdmin, you must Refresh for the change to take effect.

Managing account-based licensing with the uvlictoolcommand

You can use the uvlictool command to manage account-based licensing.

Verifying the acct_licn.def file

Use the uvlictool command with the check_acctlic parameter to check the syntax of theacct_licn.def file and report any errors.

If a syntax error exists in the acct_licn.def file, UniVerse ignores all definitions in the file andstarts UniVerse as if there was no acct_licn.def file.

Page 227: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Listing the acct_licn.def file

227

Note: Make sure there is no leading space before the account ID.

The following example illustrates using the uvlictool command to verify the acct_licn.deffile:

C:\U2\UV\bin>.\uvlictool check_acctlic3 logical accounts are found. Account definitions look good.

Listing the acct_licn.def file

Use the uvlictool command with the list_acctlic parameter to list the contents of theacct_licn.def file, as shown in the following example:

Logical Account Name DB Seats/Used CONNPL Seats/Useddefault 17/1 5/0SALES 10/0 3/0 C:\U2\UV\HS.SALESSERVICE 5/0 2/0 C:\U2\UV\HS.SERVICEU2 logical accounts: 3

Reloading the acct_licn.def file

If you make changes to the acct_licn.def file, you must reload the file for the changes to takeeffect. The next example shows how to reload the file using the uvlictool with the reload_acctlicoption:

C:\U2\UV>\u2\uv\bin\uvlictool reload_acctlicLogical Account Name DB Seats/Used CONNPL Seats/Useddefault 17/1 5/0SALES 10/0 3/0 C:\U2\UV\HS.SALESSERVICE 5/0 2/0 C:\U2\UV\HS.SERVICEU2 logical accounts: 3

Note: If reloading the acct_licn.def has an error, UniVerse does not replace the currentconfiguration.

If you change the number of licenses allocated to an account and the number of users currently loggedon exceeds that number, UniVerse displays an error. Users need to log out of the account until thelimit is not exceeded before UniVerse loads the new configuration.

Listing licenses in use in a logical account

Use the uvlictool command with the report_lic logical_account_name option to list licenses in usefor a specific logical account, as shown in the following example:

C:\U2\UV>\u2\uv\bin\uvlictool report_lic SALES

Page 228: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Chapter 20: Account-based licensing

228

Device licensing is in effect.U2 logical account: SALESNo. Pid, Package Device name IP address Devicesub-key2 41180

1 license seats are in use.9 license seats are available.

Packages in use: UVCS has 1 processes.

Signature Table Used Entry Count = 19UniVerse Signature Table Used Entry Count = 1

Note: You can only list information about licenses for one logical account at a time.

Page 229: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

229

Chapter 21: Additional server-level securitylayer

UniData ODBC and Universe UO both provide an optional additional layer of security for clientapplications in the form of UOLOGIN and ODBCLOGIN.

Occasionally, a single sign-on on the client side is not enough security. A new option is the abilityto allow only certain accounts access to a server via UOLOGIN and ODBCLOGIN globally cataloguedsubroutines.

Page 230: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

230

Appendix A: UniVerse system administrationmenus (UNIX only)

On UNIX systems, you can use the UniVerse System Administration menus in addition to XAdmin toadminister UniVerse. While these menus are now deprecated and no longer updated, they are stillfunctional and let you perform normal UniVerse maintenance and some UNIX system administrationwithout having to use XAdmin (the preferred option in most cases), UNIX shell commands, or fileformats.

The UniVerse System Administration menus are available only to UniVerse Administrators workingin the UV account. To have access to all files used for system administration, you must log in as aUniVerse Administrator.

Once you are logged on, activate the System Administration menus from the UNIX shell by changing tothe UV account directory (usually /usr/uv):

# cd /usr/uv

Then use the command bin/uv:

# bin/uv

From an account in the UniVerse environment, you can use the LOGTO command to log to the UVaccount.

Overview of menus and data entry screensThe System Administration menus and data entry screens look and work the way Motif menus do. Themain menu bar appears at the top of the screen. Each option in the menu bar stands for a pull-downmenu that scrolls down from the main menu bar when the user chooses an option.

Because the menu bar is the primary way to access the system administration functions, browsingthrough the menus gives a good overview of system administration functions.

Menus list actions that can be performed and options that display submenus (cascading menus).Options followed by an arrow ( => ) display a submenu. To display a submenu, highlight the option,then choose it.

To start an action, simply choose it. If a data entry screen appears, instructions in the lower part of thescreen prompt you to enter the appropriate data. System messages also appear at the lower part ofthe screen.

The options listed on the submenus are names or descriptions of UniVerse sentences that are storedas part of the menu. Unlike using sentences that are stored in the VOC file, you need not remembersentence names to use an option on a menu. You need only examine the options listed on the menu,and then choose the appropriate one for the task you want to perform.

Moving around the menus

Certain responses work at all levels of the menu system. At any menu bar, use the right arrow key (—>and the left arrow key (<—) to move the cursor to the option that you want.

Page 231: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Summary of standard keys

231

Note that the right arrow key does one of two things. If the highlighted menu option calls a submenu,pressing the right arrow key displays the submenu. If the option does not call a submenu, pressing theright arrow key displays the submenu belonging to the next option on the main menu bar.

Choosing an option

To choose the highlighted option, press ENTER or Space. Or to move to an option and choose it withone keystroke, press the capitalized letter of the option you want. (The capitalized letter is calleda mnemonic.) The mnemonic may not always be the first letter of an option. If your keyboard doesnot have arrow keys, you can move around the menu system by using the mnemonic letters to makeselections.

Moving around the submenus

To move the cursor up and down in the submenus, use ↑ and ↓. Note that ↑ does not work on menubars, and ↓ works only if there is a submenu. To move from a submenu to the one immediately aboveit, press ←. To return directly to the main menu level from any submenu, press F10.

To exit any System Administration menu or submenu and return to the UniVerse prompt, press Esc.

Summary of standard keys

The following table lists standard responses that you can use at all data entry screens.

Key Action

Esc Pressing the Esc key has two effects. At any menu or submenu, Esc returnsyou to the UniVerse prompt. If you are entering data in a data entry screen,pressing Esc quits the record, clears the screen of any data you enteredwithout making any changes, and returns to the previous level. If you wereadding a new record, it is not added. If you were changing existing data, therecord remains as it was before you made any changes to it.

¨ Æ Ø ¦ Moves the cursor to the next or previous field on the screen.F10 Always moves the cursor to the menu bar at the top of the screen, if one exists.

If your terminal does not have an F10 key, you can activate the menu bar bypressing Ctrl-T.

F1 Displays a more detailed help message. (If your terminal does not have an F1key, you can display the longer help message by typing a question mark (?).

ENTER If the cursor is highlighting an option in the menu bar or some other option(such as YES or NO), pressing ENTER selects the highlighted option (same aspressing Space).

Space Same as ENTER.F4 Pressing F4 at certain data entry prompts displays a list and lets you select

one of the items in the list. If your terminal does not have an F4 key, you candisplay a list by typing an asterisk (*).

In most cases the list box displays a sorted list with an entry box below it.To move directly to an item in the sorted list, enter the item you want at theprompt in the entry box. The highlight bar moves to the item you enter. Youcan enter any number of characters in the entry box to move to a desired itemin the sorted list.

For example, if you enter the character j, the highlight bar moves to the firstitem in the list that begins with j. If you enter the characters sta, the highlightbar moves to the first item in the list that begins with sta.

Page 232: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

232

Key Action

Page Down When a list appears, use the Page Down key (also called the Page key or the PgDn key) to display the next page of the list.

Page Up When a list appears, use the Page Up key (also called the Page key or the PgUp key) to display the previous page of the list.

Note: Pressing some of these keys in rapid succession can create the effect that the keys are notworking.

To improve performance, the program MTF.INPUT.B in the BP directory of the UV account has avariable, ESC.DELAY.TIME, to fine tune the delay. An example follows:

>ED BP MTF.INPUT.B----: 80008: * Module MTF.INPUT.B Version 3.3.1.1 Date 4/16/96----: 950095: equ ESC.DELAY.TIME to 100;* Delay to determine if singletonEscape

You should also make changes to the BASIC program CINPUT.B in the APP.PROGS directory. The thirdargument in the call to GET.TA.BUF is the delay (25 in the following example).

>ED APP.PROGS CINPUT.B----: 60006: * Module CINPUT.B Version 3.2.1.1 Date 2/18/96----: 1530153: CALL *GET.TA.BUF.B(0,LEN(MO.KEYS<I,1>)-1,25,100,INPUT.CHARACTER

The UniVerse System Administration menuThe administrative functions of the UniVerse System Administration menu system are performedfrom the UV account. The functions are implemented as a hierarchy of menus and data entry screens.Some menu selections invoke submenus, other menu selections invoke BASIC routines, UniVersecommands, and UNIX shell command scripts.

The following pages describe the options of the main menu bar and all its submenus.

Invoking the System Administration menu

The main menu is called the UniVerse System Administration menu. Its record name is SYSTEM.ADMIN,which is located in the file UNIVERSE.MENU.FILE in the UV account.

The UniVerse System Administration menu is automatically invoked by the UV account’s LOGIN entrywhen you enter the UniVerse environment from the UV account directory (by using the command bin/uv).

You can also invoke the menu in two other ways:

▪ Enter LOGIN at the UniVerse prompt while in the UV account.

▪ Enter the command SYSTEM.ADMIN at the UniVerse prompt.

Page 233: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Package option

233

Package optionUse the Package option to do the following:

▪ Install and uninstall additional software packages

▪ Administer the UniRPC (remote procedure call)

▪ Administer UniVerse licenses

▪ Administer the BASIC SQL Client interface (BCI)

▪ Administer the General Calling Interface (GCI)

When you choose Package from the UniVerse System Administration menu, the Package menuappears.

Installing and uninstalling a software package

To install a software package, choose Install package from the Package menu, then enter the nameof the software package and the name of the device from which you are installing it.

To uninstall a software package, choose De-install package from the Package menu, then enter thename of the software package. To see a list of all currently installed software packages, press F4 orenter an asterisk (*) at the prompt.

For information about specific software packages, refer to the documentation provided with thepackage you want to install.

To display the license number, the current user limit, and the current license expiration date, exit themenus and, at the command prompt, use the CONFIG command with no options.

Administering the UniRPC

The Rpc administration menu lets you do the following:

▪ Define or change the UniRPC port number

▪ Start and stop the UniRPC daemon

▪ Add, change, or delete network nodes

Defining the UniRPC port number

To define the UniRPC port number:

1. Choose Rpc administration from the Package menu, then choose Change the rpc port. Thefollowing message appears:

The well-known port number defined for unirpc is '31438'. Do you wish to continue using thiswell-known port number for the unirpc well-known port?

2. At the prompt, choose Yes to accept the default UniRPC port number. Choose No to specifyanother port number.

3. If you choose No, the system prompts you to enter a new UniRPC port number. When this numberis accepted, the following message appears:

/etc/services successfully written.

Page 234: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

234

Starting the UniRPC daemon

To start the UniRPC daemon:

1. Choose Rpc administration from the Package menu, then choose Start the rpc daemon.2. At the prompt, enter the name of the file to send all error and system messages to (this can be

useful for debugging). Enter a space to display messages on your screen. Press ENTER if you don’twant to display or save messages.

3. At the next prompt, choose Yes to start the UniRPC daemon. Choose No to return to the Rpcadministration menu.

Adding, changing, or deleting network nodes

Use the Maintain the RPC screen to add nodes to the network, modify the definitions for nodes on thenetwork, and delete nodes from the network. You can also list the nodes that are defined in the /etc/hosts file.

To display the Maintain the RPC screen, choose Rpc administration from the System Administrationmenu, then choose Modify /etc/hosts.

You can add, modify, or delete nodes by entering information in this screen. This changes the TCP/IPhosts file (/etc/hosts). The Maintain the RPC screen prompts you for the following information:

Machine name

Enter the node name for a machine (node names are case-sensitive).

Node ID

Enter the TCP/IP Internet address for a machine.

Adding nodes to the network

Use the Maintain the RPC screen to add machines to the TCP/IP hosts file (/etc/hosts). Enter themachine name and node ID in the fields provided.

If you enter the name of a machine already defined in /etc/hosts, the screen displays the nameof the machine and its node ID. If you enter a node ID for an existing machine, the screen displays thefollowing message:

A record with that Node id already exists. Is this a Synonym?

To define the new machine’s name as a synonym for the existing machine, choose Yes, otherwisechoose No.

Changing an entry in the TCP/IP hosts file

Use the Maintain the RPC screen to change a node’s name or ID. For example, to change the machinename, specify the new name with the old node ID. To change the node ID, specify the new node ID withthe old machine name.

To display the machines currently on the network, enter an asterisk ( * ) at the Machine Name prompt,or press F4. Use the arrow keys to move through the list, highlighting the entry you want to modify. Tochoose the highlighted entry, press ENTER.

Deleting nodes from the network

Use the Maintain the RPC screen to delete a node definition from the TCP/IP hosts file. You can eitherenter the machine name of the node you want to delete, or you can enter an asterisk ( * ) or press F4

Page 235: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Changing the UniRPC port number

235

to display a list of names in the TCP/IP hosts file. Use the arrow keys to move through the list and tohighlight the entry you want to delete. To choose the highlighted entry, press ENTER.

Press F10 to move to the menu bar, then choose Action, then choose Delete entry to delete the nodefrom the network. The system asks you to confirm the deletion. Choose Yes to delete the node from /etc/hosts. Choose No to cancel the deletion. You can then specify a different node to delete, or youcan return to the Rpc administration menu.

Listing nodes on the network

To list nodes on the network, press F10 to move to the menu bar of the Maintain the RPC screen, thenchoose Action, then choose List entries.

Changing the UniRPC port number

If you change the UniRPC port number, you must change it on all other systems that communicate viathe UniRPC. Do the following:

1. Choose Rpc administration from the Package menu, then choose Change the rpc port. Thecurrent UniRPC port number is displayed.

2. At the prompt, choose Yes to accept the current UniRPC port number. Choose No to change theport number.

3. If you choose No, the system prompts you to enter a new UniRPC port number. When this numberis accepted, the following message appears:

/etc/services successfully written.

Stopping the UniRPC daemon

1. From the main System Administration menu, choose Package, then choose Rpcadministration, then choose Halt the rpc daemon.

2. At the prompt, choose Yes to stop the UniRPC daemon. Choose No to return to the Rpcadministration menu.

Stopping the UniRPC does not interrupt active UniRPC processes.

Note: On some systems, after you stop the UniRPC daemon and all active services terminate, itcan take five minutes for UNIX or TCP/IP to recognize that the network connections used by theUniRPC are available again. Wait at least five minutes after halting the UniRPC daemon before yourestart it. Use the UNIX netstat command to see what services are still active.

UniVerse license administration

The Package menu also includes the UniVerse License administration option. Use this option toauthorize a licensed number of users on your system.

When you choose License administration from the Package menu, UniVerse displays the UpgradeUniVerse License data entry screen. To upgrade your license, enter the authorization code obtainedfrom your vendor.

Page 236: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

236

Administering SQL Client and GCI

For information about administering the BASIC SQL Client Interface (BCI) and the General CallingInterface (GCI), see UniVerse BASIC SQL Client Interface Guide and the GCI User Guide.

Accounts optionUse the Accounts option to create and maintain user login accounts, UniVerse accounts, and usergroups. The Accounts option updates and maintains the following files:

▪ /etc/group

▪ /etc/passwd

▪ UV.ACCOUNT

When you choose Accounts from the UniVerse System Administration menu, the Accounts menuappears.

The following sections tell how to use the System Administration menus to add, change, and deleteuser login accounts, user groups, and UniVerse accounts.

Using the Accounts menu

To display the Accounts menu, choose Accounts from the UniVerse System Administration menu.You can then choose to add, change, or delete user groups, user login accounts, or UniVerse accounts.

The data entry screens for adding a new user group, adding a user, and adding a new UniVerseaccount include a menu bar at the top of the screen that provides the following three options:

File Action Help

The File option lets you exit the data entry screen. The Action option lets you modify or delete anothergroup, user, or account. The Help option provides further information on each of these menu baroptions.

You can also list all groups, users, or accounts currently defined in the /etc/group, /etc/passwd,or UV.ACCOUNT files. Display a list either by choosing List, or by pressing F4 or * at certain prompts.

Inside a list, use the Page Down key to display the next page of the list. Use the Page Up key todisplay the previous page. To choose an item in the list, use the Down and Up Arrow keys to move thehighlight bar to the item you want then press Return or Space. Or, at the prompt in the entry box justbelow the list box, enter the item you want (or the first unique characters of it) to move the highlightbar directly to that item.

Some fields on the System Administration menus have a limited amount of space, such as, you canonly enter 44 characters for the user’s home directory. If you need to specify a longer path, edit the /etc/passwd file.

Maintaining users and user groups

You can do any of the following tasks to maintain user groups and user login accounts:

▪ Add a new user group or user login account.

Page 237: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Adding a new user group

237

▪ Change information about an existing user group or user login account.

▪ Delete a user group or user login account from the system.

You use UNIX commands to perform these tasks. In UniVerse you can register SQL users and createSQL schemas with the GRANT and CREATE SCHEMA statements.

Adding a new user group

Complete the following steps to add a new user group:

1. Choose Add a group from the Accounts menu.2. Enter the name of a new user group. At the Group ID prompt, enter the group ID number, or if you

want to assign the next default group ID number, press ENTER at the prompt.3. Choose Yes to add the new group. UniVerse updates the /etc/group file and clears the data

entry screen. You can now enter another group name.

When you are finished adding user groups, press Esc to return to the System Administration menu.

Changing a user group

To change the name of an existing user group:

1. Choose Modify a group from the Accounts menu. A list of all groups currently defined in the /etc/group file appears.

2. Choose the group whose name you want to change.3. Enter the new name of the group, then choose Yes to save the new information.

When you save the revised user group information, UniVerse updates the /etc/group file. You areautomatically returned to the System Administration menu.

Only the name of a group can be changed using the Modify a group option. The group ID numbercannot be changed. To change a group ID number while retaining the group’s name:

1. Delete the existing group.2. Add a new group, specifying the old group name and the new group ID number.

Deleting a user group

To delete an existing user group:

1. Choose Delete a group from the Accounts menu. A list of all groups currently defined in the /etc/group file appears.

2. Choose the name of the group you want to delete.3. Choose Yes to delete the group.

When you are finished deleting groups, UniVerse updates the /etc/group file. You are returned tothe System Administration menu.

Adding, changing, and deleting individual users

You can use the UniVerse System Administration menus to add individual users, change informationabout existing users, and delete users from the system. You can create new accounts with the SQLCREATE SCHEMA statement.

When you add a new user, change information about a user, or delete a user from the system,UniVerse does the following:

Page 238: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

238

▪ Edits the /etc/passwd file

▪ Adds, changes, or deletes the user’s home directory

▪ Sets or changes file access permissions, user ownership, and group ownership for the files andsubdirectories contained in the user’s home directory

Note: Your system may require users to be added using UNIX shell commands. See the UniVerserelease notes for your system before you try to change the /etc/passwd file.

Adding a new user

To add a new user to the system:

1. Choose Accounts from the System Administration menu, then choose Users, then choose Add aUser. UniVerse displays the Add a User screen.

2. Enter the required information at the prompts.3. With your entries specified, choose Yes to add a new user to the system. UniVerse adds a line

containing the specified user information to the /etc/passwd file.4. You are prompted to set file permissions for the user’s home directory and all its dependent files

and directories.

You can either set the default permissions, which give all users permission to read, write, or execute allfiles and directories, or you can specify a more limited set of permissions. If the directory specified asthe user’s home directory does not yet exist on the system, UniVerse creates it.

The procedure for setting file permissions is described later in Adding a new UniVerse account, onpage 239.

What happens next depends on whether you specified UniVerse or a UNIX shell as the user’senvironment:

▪ If you specified UNIX for Login Shell, a UniVerse account is not created for this user (you arenot prompted to enter any information pertaining to a UniVerse account). Proceed to the nextprompt (go to step 2).

▪ If you specified UniVerse for Login Shell, you are prompted to enter information about theUniVerse account. Proceed to the next prompt (go to step 5).

1. Perform this step only if you specified UniVerse for Login Shell. You must create a UniVerseaccount for the user’s home directory:▪ You are prompted to specify which compatibility flavor the UniVerse account is to have.

UniVerse accounts can be one of several standard flavors: INFORMATION, PICK, REALITY, IN2,PIOPEN, or IDEAL UniVerse. IDEAL is the default.

▪ Choose the compatibility flavor for the account you are creating.

▪ The UniVerse account is put in the user’s home directory, that is, the special UniVerse files arecopied into the directory. This can take a few minutes.

▪ You are asked if you want to add the name of the UniVerse account to the Accounts file,UV.ACCOUNT. If you choose Yes, you are prompted to enter the name of the UniVerse account.(Normally, UniVerse account names are all uppercase letters.)

2. The system asks if you want to use the default login file. The login file is a file used by the systemto initialize the user’s working environment when the user logs on. Login files differ depending onwhich login shell the user will use.

If the user’s login shell is the Bourne shell, the login file will be the .profile file. If the user’s loginshell is UniVerse, the login file will be the LOGIN entry. The default .profile and LOGIN files are inthe directory /usr/uv/sample.

Page 239: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Changing user information

239

3. Once you have entered all the relevant user information, the cursor returns to the Lognameprompt at the top of the screen. You can now add another user to the system. To return to theSystem Administration menu, press Esc.

Note: Your system may require new users to be added through UNIX. Please see the UniVerserelease notes for your system before trying to change the /etc/passwd file.

Changing user information

To modify an existing user definition:

1. Choose Accounts from the System Administration menu, then choose Users, then choose Modifya User. UniVerse lists all users currently defined in the /etc/passwd file.

2. From the list, choose the name of the user whose data you want to modify. UniVerse displaysinformation about that user.

3. To change the information in any field, use the down and up arrows to move the cursor to thefield you want, then enter the new data at the prompt. Continue in the same way to make asmany changes as you want.

4. When the data is as you want it, choose Yes to save your changes. UniVerse updates the /etc/passwd file and makes any required changes to the files in the user’s home directory such as anyownership, group ownership, or file permission changes.

5. You are asked if you want to modify another user. Choose Yes to make more changes, or chooseNo to return to the System Administration menu.

Deleting a user

To delete a user from the system:

1. Choose Accounts from the System Administration menu, then choose Users, then choose Deletea User. UniVerse displays a list of all users currently defined in the /etc/passwd file.

2. From the list, choose the name of the user to remove from the system. UniVerse displaysinformation about that user and asks if you want to delete the user.

3. If you choose Yes, UniVerse deletes the user by removing a line from the /etc/passwd file,displays the list of current users again, and asks if you want to delete another user.

4. Choose Yes to delete another user, or No to return to the System Administration menu.

Maintaining UniVerse accounts

You can do any of the following tasks to maintain UniVerse accounts:

▪ Add a new account.

▪ Change information about an existing account.

▪ Delete an account from the system.

You can perform these tasks using the System Administration menus. To maintain accounts in thisway, choose Accounts from the System Administration menu, then choose Accounts from thesubmenu. The following sections tell how to use the System Administration menus to add, change,and delete UniVerse accounts.

Adding a new UniVerse account

To add a new UniVerse account:

Page 240: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

240

1. Choose Accounts from the System Administration menu, then choose Accounts from thesubmenu, then choose Add an Account. UniVerse displays the Add an Account screen.

2. At the Account Name prompt, enter the name of the new UniVerse account. (Typically, UniVerseaccount names are all uppercase letters, whereas UNIX user names are all lowercase letters.)

3. Before specifying the new name, you can view the list of existing accounts. To list the currentcontents of the UV.ACCOUNT file, press F4 or enter an asterisk ( * ) at the prompt.

4. At the Directory prompt, enter one of the following:

▪ The full path of the UNIX directory where the UniVerse account is to be located

▪ An existing user’s login name

▪ A user ID number

▪ The name of an existing UniVerse account

One of the following results occurs depending on what you enter at the Directory prompt:

▪ If you enter an existing directory path, the UniVerse account is created in that directory. If youenter the path of a directory that does not exist, the directory is created.

▪ If you enter an existing user login name or user ID number, that user’s home directorybecomes the directory for the UniVerse account.

▪ If you enter an existing UniVerse account name, the new account name becomes a synonymfor the existing UniVerse account.

5. UniVerse asks if you want to set default file permissions for the directory where the account islocated. To accept the default permissions, press ENTER at the prompt.If you answer No, you are prompted to enter the file permissions you want to assign. Valid valuesare in either of the following formats: a 9-character string, or a 3-digit octal value.The file permissions assigned here will be applied to all files and subdirectories contained in thedirectory where the UniVerse account is located, regardless of whether or not they are UniVersefiles and directories.

6. UniVerse prompts you to enter the name of a user to be the owner of the account and its files.You can enter the name of either an existing user or a new one. To see a list of all users currentlydefined in the /etc/passwd file, press F4 or enter an asterisk (*) at the prompt.If you make an existing user the owner, that user’s group becomes the group owner of theaccount.If you create a new user to be the account’s owner, you are prompted to specify a group owner forthe account. Enter the group name at the prompt. To see a list of all groups currently defined inthe /etc/group file, press F4 or enter an asterisk (*) at the prompt.

7. UniVerse displays a list of compatibility flavors. UniVerse accounts can be one of several standardflavors: INFORMATION, PICK, REALITY, IN2, PIOPEN, or IDEAL UniVerse (IDEAL is the default).

8. Choose the compatibility flavor for the account you are creating.9. UniVerse asks if you want to use the default LOGIN entry for the account. If you choose No, item c

is skipped. If you choose Yes, UniVerse does the following:

▪ Creates a directory for the account if it does not exist

▪ Places the special UniVerse directories and files in the directory where the account is located

▪ Copies the LOGIN entry located in the sample subdirectory of the UV account directory to theVOC file of the new UniVerse account

▪ Edits the .profile file in the account’s directory

▪ Updates the UV.ACCOUNT file

▪ Edits the /etc/passwd file if necessary

10. The account definition is complete. UniVerse redisplays the Add an Account screen. You can nowcreate another UniVerse account. Or, to return to the System Administration menu, press Esc.

Page 241: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Changing an existing UniVerse account

241

Changing an existing UniVerse account

To modify an existing UniVerse account definition:

1. Choose Accounts from the System Administration menu, then choose Accounts from thesubmenu, then choose Modify an account. A list of all accounts currently defined in theUV.ACCOUNT file appears.

2. Choose the name of the account that you want to change. The name of the account and the pathof the directory where the account is located appear.

3. To change either the account name or the directory path, use the Down or Up Arrow key to moveto the field you want to change, then enter the new account name or directory path.

4. You can change the owner, group, and file permissions on all files and subdirectories in theaccount directory. (This is in addition to changing the account name and directory path of aUniVerse account as described in step 2.)To change permissions, press ENTER at the Directory prompt.

5. When you save the revised account information, UniVerse updates the UV.ACCOUNT file and editsthe /etc/passwd and .profile files if necessary.UniVerse asks if you want to modify another account. Choose Yes to make more changes, orchoose No to return to the System Administration menu.

Deleting a UniVerse account

To delete a UniVerse account:

1. Choose Accounts from the System Administration menu, then choose Accounts from thesubmenu, then choose Delete an account. A list of all UniVerse accounts currently defined theUV.ACCOUNT file appears.

2. Choose the name of the account you want to delete. The account name and the path of itsassociated directory appear.

3. The system checks to see if the account’s directory is the home directory for any other users. Youcan choose any one of the following options:

▪ Transfer ownership of the directory and its files by making some other user the owner of thedirectory.

▪ Leave the directory as it is.

▪ Delete the directory and all of its dependent files and subdirectories from the system.

4. You are asked to confirm that you want to delete the directory and all of its files. Be sure you wantto do this before you choose Yes.If the owner of the directory has already been deleted from the system, the directory and all itsfiles, including the UniVerse files, remains on the system as an orphan directory, that is, the ownera user ID number without a corresponding entry in the /etc/passwd file.

5. On deleting a UniVerse account from the system, UniVerse deletes its record in the UV.ACCOUNTfile. You can then remove the UNIX directory associated with the account and all of its files.

6. UniVerse asks if you want to delete another account. Choose Yes to delete another account, or Noto return to the System Administration menu.

Recovery optionUse the Recovery option when you want to back up and restore the following:

▪ The entire system

▪ All files in all UniVerse accounts

Page 242: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

242

▪ The files in any specified account, with all of its children (files in dependent subdirectories)

▪ A specific file

When you choose Recovery from the UniVerse System Administration menu, the Recovery menuappears.

Backing up and restoring files

This section describes how to use the System Administration menus to back up and restore thefollowing:

▪ The entire system

▪ The contents of all UniVerse account directories on the system

▪ The contents of one UniVerse account directory

▪ Any specified UniVerse or UNIX file

If you are using a peripheral device such as a tape or disk drive, you can mount your streamer tapeor diskette in the drive before you invoke the System Administration menu. The rest of this chapterrefers to streamer tape and diskette as a backup volume.

To back up or restore the system:

1. Choose Recovery from the UniVerse System Administration menu. The Recovery menuappears.

2. Choose either Backup or Restore. A menu of backup or restore options appears:3. Specify the kind of backup or restoration you want. Choose from the following options:

▪ Entire system. This option backs up every directory and file on the system, from root ondown. When restoring, use this option to restore every directory and file on the backupvolume.

▪ All UniVerse accounts. This option backs up the contents of all directories defined in theUV.ACCOUNT file. All files in the directories and their dependencies are backed up, whetheror not they are UniVerse files and directories. When restoring, use this option to restoreall directories on the backup volume. UVRESTORE restores only directories defined in thecurrent UV.ACCOUNT file.

▪ Account and its children. This option backs up the directory containing the specifiedUniVerse account and all other dependent files and subdirectories. When restoring, use thisoption to restore the account you specify. You can also use this option to back up the contentsof directories that are not set up as UniVerse accounts.

▪ File within account. This option backs up a UniVerse file, a UNIX file, or a directory. Whenrestoring, use this option to restore the file you specify.The Restoration menu has two additional options:▪ Pre revision 7 backup (using cpio). This option restores backups made with the cpio

command.

▪ Record within file. This option restores a record from a UniVerse file.

Note: When you restore UniVerse files that have secondary indexes, rebuild the indexes with theBUILD.INDEX command.

Page 243: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Using the UVBACKUP screen

243

Using the UVBACKUP screen

When you choose an option from the Backup menu, UniVerse displays the UVBACKUP screen. Look forone of the following UVBACKUP screen titles:

▪ UVBACKUP Entire System

▪ UVBACKUP All uniVerse Accounts

▪ UVBACKUP A uniVerse Account & Children

▪ UVBACKUP A File within a uniVerse Account

The basic format is the same for all UVBACKUP screens. Certain fields may or may not be available fordata entry depending on which backup option you specified.

The default values for UVBACKUP screen data entry fields are stored in the UniVerse SYS.MESSAGEfile. The record ID is 085619. As a UniVerse Administrator you can edit this record to customize theUVBACKUP screen defaults for your site. Upgrading or reinstalling UniVerse will overwrite theserecords.

Use the arrow keys to move forward and backward inside the UVBACKUP screen. The Help Region atthe bottom of the screen gives information about valid entries for the current field.

Specifying the backup device

The Backup Device field tells where to write the formatted output from UVBACKUP. Specify either ofthe following:

▪ A full UNIX path (that is, the path begins with /, which is the root directory).

▪ The name of a device defined in the &DEVICE& file. UVBACKUP uses the path defined in field 6 ofthe &DEVICE& record. The path should specify a rewind device. See Configuring peripheral devices,on page 103, for information about entries in the &DEVICE& file.

If you are backing up either the entire system or all UniVerse accounts on the system and you have notmounted the backup volume in the tape drive, you are prompted to do so.

Specifying the block size

Specify the block size in increments of 512 bytes. The default is 8192. The minimum is 512. Themaximum is defined by the configurable parameter BLKMAX in the uv.config file.

Specifying a full, weekly, or daily backup

Specify one of the following backup procedures at the Type prompt. You can enter the word or just thefirst letter of the word.

▪ FULL - (Default) Saves all specified directories and files.

▪ WEEKLY - Saves only those records in UniVerse hashed files (types 2 through 18 and type 30) thathave been changed since the last full or weekly backup, including records previously saved by aDAILY backup.

▪ DAILY - Saves only those records in UniVerse hashed files that have been changed since the last full,daily, or weekly backup.

The Compression field is not available.

Page 244: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

244

Specifying what to display on the terminal screen

Specify one of the following options at the Verbose prompt. You can enter the word or just its first twoletters.

▪ ON - (Default) UVBACKUP displays the image label and the paths of the files as they are backedup. If there is an error, you get a message describing the problem. (UVBACKUP output is like UNIXcpio command output.)

▪ OFF - Turns off all terminal output, including error messages.

If you specified ON at the Verbose prompt, specify at the Level prompt whether you want to displayrecord IDs as well as paths. You can enter the word or just its first letter.

▪ FILE - (Default) Displays paths of files only.

▪ ITEM - Displays paths of files, and, for UniVerse hashed files, displays the names of records.

Specifying a label to identify the backup

Enter a label (up to 60 characters) at the Image Label prompt. All characters are valid. (Use theuvbackup command from a UNIX shell to enter a longer label.)

When you restore anything from this backup, UVRESTORE displays the image label so you can verifythat it is the backup you want.

Specifying the account to back up

If you are backing up the entire system or all UniVerse accounts, UniVerse fills in the To Backup fieldfor you.

If you are backing up a UniVerse account and its children, or if you are backing up a file in an account,enter either of the following at the To Backup prompt:

▪ The name of an account defined in the UV.ACCOUNT file. (Press F4 to list the entries in theUV.ACCOUNT file.) UVBACKUP uses the path defined in field 11 of the UV.ACCOUNT record.

▪ The full path of a UNIX directory, beginning with a / character. If the directory contains multipleaccounts, UVBACKUP backs up all accounts in the directory.

When you back up a UniVerse account, UVBACKUP saves only those files stored in the specifieddirectory and its subdirectories. It does not back up files in remote accounts to which Q-pointers andremote F-pointers refer, nor does it back up multiple data files of a UniVerse file if the data files arestored in remote accounts.

Specifying the file to back up

If you are backing up the entire system or one or more UniVerse accounts, the File field is void.

If you are backing up a file in an account, enter the name of the file at the File prompt. You can specifyeither the UNIX file name (not the full path) or the name of the file as defined in the account’s VOC file.Press F4 to list the UniVerse files defined in the VOC file.

When you back up a UniVerse file, UVBACKUP saves only the data file. You must back up the filedictionary separately (by specifying DICT filename). You must also back up a file’s secondary indexesseparately (by specifying I_filename).

When you back up a distributed file, UVBACKUP saves only the file header. You must specify each partfile you want to back up.

To specify a type 1 or type 19 file, use the name of the file as it is defined in the VOC file.

Page 245: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Starting the backup

245

Starting the backup

After you finish entering information, the system asks you if you are ready to start the backup. ChooseNo to return to the Backup Device prompt. Choose Yes to start the backup.

How UVBACKUP displays file paths

Here is the output generated by the previous menu selections:

Backup Date : Fri Aug 23 17:06:46 1996Reel Number : 1Compression : FalseImage Type : Full BackupBlock Size : 8192 bytesLabel : Backup of DOCEX Account Backing up /rd2/qa/test/UVback/errlog Backing up /rd2/qa/test/UVback/BACK1 Backing up /rd2/qa/test/UVback/BACK1/.Type1 Backing up /rd2/qa/test/UVback/BACK1/1 Backing up /rd2/qa/test/UVback/BACK1/2 Backing up /rd2/qa/test/UVback/BACK1/3 Backing up /rd2/qa/test/UVback/BACK1/4 Backing up /rd2/qa/test/UVback/BACK1/5 Backing up /rd2/qa/test/UVback/BACK1/6 Backing up /rd2/qa/test/UVback/BACK1/7 Backing up /rd2/qa/test/UVback/BACK1/8 Backing up /rd2/qa/test/UVback/BACK1/9 Backing up /rd2/qa/test/UVback/BACK1/10 Backing up /rd2/qa/test/UVback/D_BACK1 Backing up /rd2/qa/test/UVback/VOC Backing up /rd2/qa/test/UVback/D_ORIG Backing up /rd2/qa/test/UVback/D_VOC Backing up /rd2/qa/test/UVback/ORIG Backing up /rd2/qa/test/UVback/VOCLIB . . . Backing up /rd2/qa/test/UVback/BP Backing up /rd2/qa/test/UVback/BP/CLEARALL Backing up /rd2/qa/test/UVback/BP/MAKE.FILES Backing up /rd2/qa/test/UVback/BP/RM.FILES Backing up /rd2/qa/test/UVback/BP/.Type1 Backing up /rd2/qa/test/UVback/BP.O Backing up /rd2/qa/test/UVback/BP.O/CLEARALL Backing up /rd2/qa/test/UVback/BP.O/MAKE.FILES Backing up /rd2/qa/test/UVback/BP.O/RM.FILES Backing up /rd2/qa/test/UVback/BP.O/.Type1 Backing up /rd2/qa/test/UVback/&SAVEDLISTS& Backing up /rd2/qa/test/UVback/&SAVEDLISTS&/.Type1

EndOfUvbackup

When the backup is complete, UniVerse asks if you want to return to the UVBACKUP screen. ChooseYes to redisplay the screen. Choose No to return to the main System Administration menu.

Backing up on multiple tapes

If your backup does not fit on a single tape, UniVerse rewinds the tape and prompts you to enter thename of a backup device. Do either of the following:

Page 246: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

246

▪ If using the same backup device, remove the first tape and load the next tape, then enter the nameof the backup device at the prompt.

▪ If using a different backup device, make sure the tape is loaded, then enter the backup devicename at the prompt.

If you have not mounted the tape in the drive, UniVerse prompts you to do so.

Using the UVRESTORE screen

When you choose an option from the Restore menu, UniVerse displays the UVRESTORE screencorresponding to the option chosen. Look for one of the following UVRESTORE screen titles:

▪ UVRESTORE Entire Image

▪ UVRESTORE All UniVerse Accounts from Image

▪ UVRESTORE A UniVerse Account & Children from Image

▪ UVRESTORE A File within a UniVerse Account from Image

▪ UVRESTORE A Record within a UniVerse File from Image

The basic format is the same for all UVRESTORE screens. Certain fields may or may not be available fordata entry depending on which restore option you specified.

The default values for UVRESTORE screen data entry fields are stored in the UniVerse SYS.MESSAGEfile. The record ID is 085720. As a UniVerse Administrator you can edit this record to customize theUVRESTORE screen defaults for your system. Upgrading or reinstalling UniVerse overwrites anychanges to this record.

Use the arrow keys to move forward and backward inside the UVRESTORE screen. The Help Region atthe bottom of the screen lists valid entries for the current field.

Specifying the restore device

The Restore Device field tells the location of the backup image being restored. Specify either of thefollowing:

▪ A full UNIX path (that is, the path begins with /, which is the root directory).

▪ The name of a device defined in the &DEVICE& file. UVRESTORE uses the path defined in field 6of the &DEVICE& record. See Configuring peripheral devices, on page 103, for information aboutcreating entries in the &DEVICE& file.

If you are restoring either the entire system or all UniVerse accounts on the system and you have notmounted the backup volume in the tape drive, you are prompted to do so.

Ensuring the backup image is the one you want

After you enter the restore device name, the UVRESTORE screen appears.

Choose No to return to the Restore Device field. Choose Yes to continue.

UniVerse reads the backup type (full, weekly, daily) from the backup image and displays it in the Typefield.

The Compression field is not available.

Page 247: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Specifying what to display on the terminal screen

247

Specifying what to display on the terminal screen

Specify one of the following options at the Verbose prompt. You can enter the word or just its first twoletters.

▪ ON - (Default) UVRESTORE displays the image label and the paths of files as they are restored. Ifthere is an error, you get a message describing the problem. (UVRESTORE output is similar to UNIXcpio command output.)

▪ OFF - Turns off all terminal output, including error messages.

If you specified ON at the Verbose prompt, specify at the Level prompt whether you want to displayrecord IDs as well as paths. You can enter the word or just its first letter.

▪ FILE - (Default) Displays paths of files only.

▪ ITEM - Displays paths of files, and, for UniVerse hashed files, the names of records.

UniVerse reads the image label from the backup image and displays it in the Image Label field.

Specifying the accounts to restore

If you are restoring the entire system or all UniVerse accounts, UniVerse fills in the Restore field foryou.

If you are restoring one or more UniVerse accounts and their children, a file in an account, or a recordin a file, enter one of the following at the Restore prompt:

▪ The names of one or more accounts defined in the UV.ACCOUNT file. Separate account names withcommas. (Press F4 to list the entries in the UV.ACCOUNT file.) UVRESTORE uses the path defined infield 11 of the UV.ACCOUNT record.

▪ The full paths of one or more UNIX directories. Paths should begin and end with a / character, andthey must be identical to the path stored on the backup volume. Separate paths with commas.

▪ You can specify multiple accounts if they are all in the same directory. Use an asterisk ( * ) as thelast character in the UNIX path. For example, /usr/* restores all accounts in the /usr directory,and /usr/SAL* restores all accounts beginning with SAL (such as SALES.EAST and SALES.WEST)in the /usr directory.

If you want to restore the account (or file or record) to a different account on disk, enter the name ofthe account on the backup volume, then enter an equal sign ( = ), then enter the name of the accounton disk to which you want to restore the account, file, or record. For example, to restore the backed-upaccount UVback to the /tmp directory on disk, enter

/rd2/qa/test/UVback=/tmp/UVback.

Specifying the files to restore

If you are restoring the entire system or one or more UniVerse accounts, the File field is void.

If you want to restore one or more files from an account, enter the names of the UNIX files ordirectories (not full paths) at the File prompt exactly as they are stored on the backup volume. If youwant to restore one or more records from a file, enter the name of the file at the File prompt.

Use an asterisk ( * ) as the last character in the UNIX file name to specify multiple files. If you enter justan asterisk at the File prompt, all files in the account directory are restored. If you enter ORDERS*, allfiles beginning with ORDERS (such as ORDERS.JAN and ORDERS.FEB) are restored.

If you want to restore a file or record to a different file on disk, enter the name of the file on the backupvolume, then an equal sign ( = ), then the name of the file on the disk to which you want to restore the

Page 248: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

248

file or record. For example, to restore the backed-up file BACK1 to a disk file called BACK1.A, enterBACK1=BACK1.A.

Specifying the record to restore

If you are restoring the entire system, one or more UniVerse accounts, or a file in an account, theRecord field is void.

If you want to restore a record from a file, enter the record ID at the Record prompt exactly as it isstored on the backup volume. If you want to restore the record to a different record on disk, enter therecord ID on the backup volume, then enter an equal sign ( = ), then enter the record ID to which youwant to restore the record on disk. For example, to restore the backed-up record 1 to a new record ondisk called 11, enter 1=11.

Use an asterisk ( * ) at the Record prompt to specify all records in the file. Use an asterisk as the lastcharacter of the record ID to specify multiple records. If you enter 11*, all records beginning with 11(such as 1100, 1101, 1102, and so on) are restored.

Specifying restoration options

Enter any of the following options at the Options prompt, or press ENTER. You can enter the word orjust its first two letters.

▪ INDEX - Generates a contents listing from the image. No data is restored.

▪ PAGING - Displays the contents listing one page at a time. The current TERM settings determine thepage size.

▪ OVERWRITE - For each restored file, removes the disk file with the same name, then restores the filefrom the backup image. If you do not specify OVERWRITE, uvrestore restores only files from thebackup image that do not exist on disk.

If you are restoring a record in a file, OVERWRITE has no effect. UVRESTORE always overwrites arecord.

▪ PROMPT - Interactively restores files and records. Before a file or record is restored, you areprompted to verify restoration. Enter one of the following at the prompt:▫ y- Restore the file or record

▫ n- Do not restore the file or record.

▫ d- Disable prompting after the current prompt.

▫ q-Quit. At the prompt, choose Yes to return to the UVRESTORE screen. Choose No to return tothe main System Administration menu.

Starting the restoration

When you finish entering information, the system asks if you want to start the restoration. Choose Noto return to the Restore Device prompt. Choose Yes to start the restoration.

If you entered ON at the Verbose prompt, the output looks like this:

Backup Date : Fri Aug 23 17:06:46 1996Reel Number : 1Compression : FalseImage Type : Full BackupBlock Size : 8192 bytesLabel : Backup of DOCEX Account Restoring /rd2/qa/test/UVback/errlog (17:06:46 1996, 000)

Page 249: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Restoring from multiple tapes

249

Restoring /rd2/qa/test/UVback/BACK1 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/.Type1 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/1 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/2 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/3 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/4 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/5 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/6 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/7 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/8 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/9 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/BACK1/10 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/D_BACK1 (17:06:46 1996, 000) Restoring /rd2/qa/test/UVback/VOC (17:06:47 1996, 000) Restoring /rd2/qa/test/UVback/D_ORIG (17:06:47 1996, 000) Restoring /rd2/qa/test/UVback/D_VOC (17:06:47 1996, 000) Restoring /rd2/qa/test/UVback/ORIG (17:06:47 1996, 000) Restoring /rd2/qa/test/UVback/VOCLIB (17:06:48 1996, 000) . . . Restoring /rd2/qa/test/UVback/BP (17:06:54 1996, 000) Restoring /rd2/qa/test/UVback/BP/CLEARALL (17:06:54 1996, 000) Restoring /rd2/qa/test/UVback/BP/MAKE.FILES (17:06:54 1996, 000) Restoring /rd2/qa/test/UVback/BP/RM.FILES (17:06:55 1996, 000) Restoring /rd2/qa/test/UVback/BP/.Type1 (17:06:55 1996, 000) Restoring /rd2/qa/test/UVback/BP.O (17:06:55 1996, 000) Restoring /rd2/qa/test/UVback/BP.O/CLEARALL (17:06:55 1996, 000) Restoring /rd2/qa/test/UVback/BP.O/MAKE.FILES (17:06:55 1996, 000) Restoring /rd2/qa/test/UVback/BP.O/RM.FILES (17:06:55 1996, 000) Restoring /rd2/qa/test/UVback/BP.O/.Type1 (17:06:55 1996, 000) Restoring /rd2/qa/test/UVback/&SAVEDLISTS& (17:06:55 1996, 000) Restoring /rd2/qa/test/UVback/&SAVEDLISTS&/.Type1 (17:06:55 1996, 000)

EndOfUvrestore

When the restoration is complete, UniVerse asks if you want to return to the UVRESTORE screen.Choose Yes to redisplay the screen. Choose No to return to the main System Administration menu.

Restoring from multiple tapes

If your backup comprises several tapes, UniVerse rewinds the first tape and prompts you to enter thename of a backup device. Do either of the following:

▪ If you use the same restoration device, remove the first tape and load the next tape, then enter thename of the restoration device at the prompt.

▪ If you use a different restoration device, make sure the tape is loaded, then enter the name of therestoration device at the prompt.

If you have not mounted the tape in the drive, UniVerse prompts you to do so.

Spooler optionUse the Spooler option to define and configure system printers and to perform routine spoolermaintenance.

When you choose Spooler from the UniVerse System Administration menu, the Spooler menuappears.

Page 250: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

250

Spooler status report

To display a spooler status report, choose Spooler from the System Administration menu, thenchoose Status. Choose one of the following:

Quick status - All spooler queues except the empty ones

Empty queues too - All spooler queues whether empty or not

Active jobs - Only print jobs that are currently active

You can also display a spooler status report by using the SPOOL -LIST command at the UniVerseprompt, or by executing a usa command with no options from a UNIX shell.

Here is a sample spooler status report:

Printer: lp Q: on P: on Form:Job # Job description User name Pri Forms Size Cps Status Delay00001 test julie 32 1437 1 active 0:1400003 portrait.file kira 65 LW 12342 1 wait00004 hold.file judy 32 HOLD 1589 1 hold&

Printer: lp2 Q: on P: on Form:no entries.

Printer: lw Q: on P: on Form: LWno entries.

Printer: lwlscape Q: on P: on Form: LSCAPEJob # Job description User name Pri Forms Size Cps Status Delay00002 lscape.file larry 86 LSCAPE 213764 1 active

Printer: remote Q: on P: on Form: REMOTEno entries.

The first line for each queue shows the printer, indicating if queuing is enabled, if printing is enabled,and what form, if any, is mounted. Subsequent lines give a job-by-job summary of the queue contents.In the previous example jobs 1 and 2 are printing. Job 3 is waiting in the queue for printer lp althoughit requested the form that is currently mounted on printer lw, it must wait for the following reasons:

1. Job 2 is active on printer lwlscape, which is the same physical device as printer lw.2. Queued jobs are always shown in the queue of the first defined printer, unless they are spooled

to a specific printer either with the AT keyword on a SETPTR (UNIX) or SPOOL command, or withthe -p option of the usp command.

3. The ampersand ( & ) after the word hold on job 4 indicates that a copy of this file has already beenprinted. An asterisk ( * ) would indicate a file spooled as a hold file.

Managing print jobs

You can manage most print jobs from the Job control and Modify job characteristics options ofthe Spooler menu. These two options display submenus when they are chosen. The Job Controlmenu lets you make changes to the print jobs themselves—for example, cancelling or temporarilysuspending print jobs, or printing them again. The Modify Job Characteristics menu lets you changevarious attributes of a print job, such as the number of pages to print, which pages to print, when toprint, and so on.

Page 251: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Changing print job characteristics

251

Changing print job characteristics

The following subsections describe how to change the characteristics of print jobs waiting in thequeue. All these changes can be made from the Modify Job Characteristics menu.

Changing the number of copies you want printed

Choose Modify job characteristics from the Spooler menu, then choose Number of copies. At theprompts enter the print job number, then the number of copies you want.

Specifying which pages to print

Choose Modify job characteristics from the Spooler menu, then choose Pages to print. At theprompts enter the print job number, then specify the page where you want printing to begin and thepage where you want printing to end.

Specifying which lines to print

Choose Modify job characteristics from the Spooler menu, then choose Lines to print. At theprompts enter the print job number, then specify the line where you want printing to begin and theline where you want printing to end.

Changing the priority of a print job

Choose Modify job characteristics from the Spooler menu, then choose Schedule priority. At theprompts enter the print job number, then the level of priority you want to assign. 1 is the highestpriority, 255 is the lowest.

Specifying when to print a job

Choose Modify job characteristics from the Spooler menu, then choose Time delay. You can thenspecify either the absolute time you want the spooler to print the job, for example, 3:30 p.m. or therelative time, such as 4 hours from now.

Controlling print jobs

The following subsections describe how to manipulate print jobs waiting in the queue. These changescan be made from the Job Control menu.

Holding a print job

If a print job is not printing, choose Job control from the Spooler menu, then choose Hold. At theprompt enter the print job number. This makes the print file a hold file—that is, it holds the job untilyou release it for printing.

To release a hold file for printing, choose Job control from the Spooler menu, then choose Release.The shell command is usm -r print.job.

If you want to retain a print file as a hold file after it is printed, choose Modify job characteristics fromthe Spooler menu, then choose Hold after printing.

Suspending a print job

If the job is actively printing, choose Job control from the Spooler menu, then choose Suspend. Atthe prompt enter the printer number. This suspends a currently printing job until you are ready tocontinue printing.

Page 252: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

252

To restart a suspended print job, choose Job control from the Spooler menu, then choose Continue.

Killing a print job

Choose Job control from the Spooler menu, then choose Kill a job. At the prompt enter the print jobnumber.

Managing the spooler

Use the Queue management or the printer groUp queue management option from the Spoolermenu to do the following:

▪ Enable and disable printing on a printer

▪ Enable and disable queuing for a printer

▪ Mount a form on a printer

Queue management lets you do these things for any printer. printer groUp queue management letsyou do them for printers belonging to a printer group. For information about mounting a form on aprinter, see Mounting or removing forms on a printer, on page 125.

Disabling printing

To stop printing on a printer:

1. Choose Queue management or printer groUp queue management from the Spooler menu.2. Choose Halt printing.3. Enter the name of the printer where you want printing to stop.4. Choose Yes to stop printing.

Enabling printing

To restart printing on a printer:

1. Choose Queue management or printer groUp queue management from the Spooler menu.2. Choose Begin printing.3. Enter the name of the printer where you want to restart printing.4. Choose Yes to start printing.

Disabling queuing

To disable queuing on a printer queue:

1. Choose Queue management or printer groUp queue management from the Spooler menu.2. Choose Deny queuing.3. Enter the name of the printer where you want queuing to stop.4. Choose Yes to disable queuing.

Enabling queuing

To enable queuing on a printer queue:

1. Choose Queue management or printer groUp queue management from the Spooler menu.2. Choose Allow queuing.

Page 253: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Defining printers

253

3. Enter the name of the printer where you want to enable queuing.4. Choose Yes to enable queuing.

Defining printers

To define printers, choose Spooler from the System Administration menu, choose Devicemanagement, then choose Maintain devices. The data entry screen for the sp.config file promptsyou to enter the following information:

Printer Name : Baud Rate :Unix : Pathname Parity :Driver : CR Mode :Form : Tab Expansion :Flow Control : FF Delay :Enable Printing : LF Delay :Enable Queuing : Word Length :Lock file 1 : Map Name :Lock file 2 :Other Options :

The data you enter adds a line to the sp.config file for each printer. An entry is also added to the&DEVICE& file. There is one logical line in sp.config for each printer. (If you are editing the filedirectly with vi or the UniVerse Editor, you can continue logical lines across physical lines by putting abackslash ( \ ) or an underscore ( _ ) at the end of all physical lines but the last that make up the logicalline.)

Here is an explanation of the parameters you can specify:

Parameter Description

Printer Name The logical printer name; a unique name that identifies the printer. This name isused in various UniVerse commands to refer to the printer.

Unix Pathname The UNIX path for the printer. This might be a path such as /dev/lp0. Be sure toassign the correct access permissions to the printer. You can set permissions for aprinter with the UNIX chmod(1) command.

Driver The printer driver is a device-specific post-processor for spooled output. The pathof the driver can be up to 22 characters in length. If you need to specify a longerpathname, edit the sp.config file. The driver can be a UNIX executable or a shellscript. When the driver is invoked, standard input is taken from the print file andstandard output is sent to the printer device with characteristics set accordingto the PTERM (UNIX) options specified for that printer. In addition five commandline arguments can be specified. Typical uses of the driver are to execute device-specific formatting filters such as a PostScript filter, or to redirect printing using auux command.

Form The name of the default form to be mounted on the printer. The name of the formcan be up to 32 characters long. To print the file, you must specify the exact formname when queuing a spool file or when changing the mounted form or the formrequested. Form names are case-sensitive. You can mount another form on theprinter at any time, or you can use the usa command to mount multiple forms onthe printer.

Page 254: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

254

Parameter Description

Flow Control The following types of flow control are available:

▪ none - Cancels any DTR or XON/XOFF flow control handshaking that may be set.

▪ DTR - Enables Data Terminal Ready handshaking. Loss of DTR is treated thesame as the input of the stop character. If DTR is not enabled, loss of DTR istreated as a hangup, and foreground jobs are terminated.

▪ XON/XOFF any - Enables XON/XOFF handshaking. Any character acts the sameas the XON character.

▪ XON/XOFF XON starts - Enables XON/XOFF handshaking. The XON character isrequired to start transmission. On Berkeley systems the XON character is thestart character; on System V, XON is always CTRL-Q.

Enable Printing Enter Y to instruct the spooler daemon to start up with printing enabled for thatprinter.

Enter N to start the spooler with printing disabled. At any time you can enable ordisable printing from the Spooler menu.

Enable Queuing Enter Y to instruct the spooler daemon to start up with queuing enabled for thatprinter.

Enter N to start the spooler with queuing disabled. At any time you can enable ordisable queuing from the Spooler menu.

Baud Rate The following baud rates are supported:

75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200Parity Parity can be one of the following:

NONE EVEN ODDCR Mode Carriage return mode, can be any of the following:

▪ no conversion - Resets all CR modes: carriage returns and newlines are notconverted.

▪ convert LF to CR/LF - Converts newline to newline, carriage return on output.

▪ convert CR to LF - Converts carriage return to newline on output.

▪ no CR@(0,0) - Does not output a carriage return when the cursor is at line 0,column 0.

Tab Expansion Enter ON or OFF. If tab expansion is ON, a tab character is expanded to theproper number of spaces on output. Tab stops are set every eight columns. If tabexpansion is OFF, a tab character is unchanged on output. Some terminals (such asADDS Viewpoint) use a tab character as part of the cursor movement function. Onthese terminals tab expansion must be OFF for cursor movement to work properly.

FF Delay Enter * to display a list of possible formfeed delays, then choose one of thefollowing:

▪ no form feeds - Clear-screens are sent to the terminal, but no formfeeds aresent to the line printer.

▪ no delay - Clear-screens are sent to the terminal, and formfeeds are sent to theline printer. Output of a formfeed causes no delay.

▪ 2-second delay - Clear-screens are sent to the terminal, and formfeeds are sentto the line printer. Output of a formfeed causes a two-second delay.

Page 255: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Mounting a form on a printer

255

Parameter Description

LF Delay Enter * to display a list of possible newline delays, then choose one of thefollowing: .

▪ None - No delay for each newline.

▪ .08sec. - A delay of about .08 second occurs after each newline.

▪ .10sec. - A delay of about .10 second occurs after each newline.

▪ .16sec. - A delay of about .16 second occurs after each newline.

▪ .18sec. - A delay of about .18 second occurs after each newline.

▪ .26sec. - A delay of about .26 second occurs after each newline.

▪ Teletype37 - A delay dependent on the column position occurs after eachnewline. This mode has been configured for Teletype model 37s.

▪ col+.08sec. - A delay dependent on the column position plus about .08 secondoccurs after each newline.

▪ col+.16sec. - A delay dependent on the column position plus about .16 secondoccurs after each newline.

Word Length The number of data bits that make up a word, not including the parity bit. Can be5, 6, 7, or 8.

Map Name The name of a map you want to assign to the device. For information about maps,see the Rocket UniVerse NLS User Guide.

Lock files When a device is shared by UniVerse and UNIX system processes, it needs a speciallock file created for it that coordinates access to the device when more than oneprocess tries to access it. Field 5 of the &DEVICE& file contains the UNIX pathsused to implement the locking protocol used by the UniVerse spooler and severalUNIX facilities such as the spooler and uucp. For information about the form of thelock file name for a system, see the UNIX reference manual for the process that issharing the device.

Other Options You can specify any of the UniVerse PTERM options to control the port used todrive the printer. See Appendix B for a complete list of PTERM (UNIX). In addition tothe PTERM options, you can also specify NORESET. The NORESET option instructsthe spooler daemon not to restore printer device characteristics upon completionof a print job.

Mounting a form on a printer

To mount and align a form:

1. Choose Queue management from the Spooler menu to mount a form on all printers. Chooseprinter groUp queue management to mount a form on a printer belonging to a printer group.

2. Choose Mount form.3. Enter the name of the printer.4. Enter the name of the form you want to mount, or press ENTER to retain the form that is currently

mounted on the printer.

You are asked if you want to check the vertical and horizontal alignment. If you enter Y, you areprompted to enter the path of the UNIX file you want to print to test the alignment of the printer. If youpress ENTER, the next queued job is printed as an alignment test. You can also specify the number oflines you want printed.

Page 256: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

256

To display the current spooler status report, press F10 to activate the menu bar, then choose Action,then choose List.

Configuring the spooler

To display the information contained in the sp.config file, choose Spooler from the SystemAdministration menu, then choose Device management, then choose List printers. Select the printerwhose configuration you want to display by highlighting it and pressing ENTER. Choose Yes whenasked if you want to modify the printer. The printer details are listed, and you can modify them if youwant. To exit without making changes, press Esc.

To make changes to the sp.config file, use either of the following menu options:

▪ Choose Spooler from the System Administration menu, then choose Device management, thenchoose Maintain devices.

▪ Choose Devices from the System Administration menu, then choose Maintain devices.

Changes you make will not take effect until you do one of the following:

▪ Reread the spooler configuration

▪ Reset the spooler daemon

Rereading the spooler configuration

To reread the configuration without resetting the spooler daemon, choose Spooler from the SystemAdministration menu, then choose Device management, then choose Reread configuration.Rereading the configuration does not reread the usplog file. This means that any temporary changesyou made to the spooler are lost.

Resetting the spooler daemon

To reset the spooler daemon, choose Spooler from the System Administration menu, then choosesPooler management, then choose Reset spooler. Resetting the spooler daemon rereads both thesp.config file and the usplog file; any temporary changes you made to the spooler are restored.

If a job is actively printing when you reset the daemon, it is put in the suspended state. To resetor terminate the spooler gracefully, first disable printing on all printers, then wait until all activejobs have finished printing. Disable printing on all printers by choosing Spooler from the SystemAdministration menu, then choose Queue management, then choose Halt printing. To disableprinting on printers in a printer group, choose Spooler, then choose printer groUp queuemanagement, then choose Halt printing.

Changing the spooler configuration

You can change information the spooler daemon uses to communicate with the system. You do thisfrom the System Administration menus. You can move the spooler home directory to a partition withmore space, change the path or file name of the logging files, change the order in which jobs areprinted, or change the amount of time the spooler daemon waits for the system to respond.

You can also specify these options with the usd command. For more information about usd, seeUniVerse User Reference.

Choose Spooler from the System Administration menu, choose sPooler management, then chooseConfigure spooler.

Page 257: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Maintaining printer groups

257

The following is an explanation of the parameters:

▪ Spool Directory. Type the path of the directory in which spooled files are created. The spoolerconfiguration files, sp.config and usplog, are in this directory. The default directory is thevalue of the configurable parameter UVSPOOL.

▪ Error Log File. Type the name of the file used by the spooler daemon to report errors. If the path is adirectory, the spooler uses the default file name, err.log. The default path is the spool directory.

▪ Activity Log File. Type the name of the file in which activity messages are stored. If the path is adirectory, (such as, /usr/spool/uv) the spooler uses the default file name, act.log. Thedefault path is the spool directory.

▪ Logging. Type ON to enable error and activity logging. The default is OFF.

▪ Chronological Order. Type ON to print jobs in first in first out order. The default is OFF.

▪ Timer Value. Type the number of seconds the spooler waits for the system to respond tocommands. The default is 10 seconds.

After you enter the parameters, press F10 to activate the menu bar. Type F to choose the File menu.Type S to save changes to the uv.rc script. You are prompted to restart the spooler. If you want thechanges to take effect immediately, choose YES.

Type E to exit the Spooler Configuration screen without any changes.

Maintaining printer groups

To define a printer group, choose Spooler from the System Administration menu, then chooseprinter Group management. When you add, change, or delete a printer group definition, UniVerseupdates the print_group file.

Adding a printer group

To add a printer group, follow these steps:

1. Choose Spooler from the System Administration menu.2. Choose printer Group management.3. Choose printer Groups, then choose Add a group.4. At the prompts, enter the name of a new printer group.5. Enter the login names of users who are to have access to this printer group. Enter all to specify

that all users can access the printer group. To see a list of all users currently defined in the /etc/passwd file, press F4 or enter an asterisk (*) at the prompt.

6. Enter the names of the printers that are to be included in the printer group, or enter all toinclude all printers in the printer group. To see a list of all currently defined printers on thesystem, press F4 or enter an asterisk (*) at the prompt. Choose Yes to add the new printer group.

When you save the new printer group information, UniVerse updates the print_group file andclears the data entry screen. If you do not define another printer group, you are returned to theSystem Administration menu.

Changing a printer group

To change an existing printer group, follow these steps:

1. Choose Printer Groups from the Printer Group menu.

Page 258: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

258

2. Choose Add a group. To make changes, choose the printer group you want to change, use thearrow keys to move to the fields you want to change, then make the changes you want.

Deleting a printer group

To delete a printer group from the print_group file, follow these steps:

1. Choose printer Groups from the Printer Group menu.2. Choose Delete a group. Choose the printer group you want to delete.

When you save the revised printer group information, or when you are finished deletingprinter groups, UniVerse updates the print_group file. You are then returned to the SystemAdministration menu.

Maintaining printer group users and printers

You can also add, change, and delete users and printers from the print_group file. To add, change,or delete users, choose Users from the Printer Group menu. To add, change, or delete printers,choose Printers from the Printer Group menu.

Spooler log files

Use the Spooler menu to create and use the spooler log files.

Creating spooler log files

To create spooler log files, choose Spooler from the System Administration menu, then choose errorand activity Logs, then choose Set log files. At the prompts, enter the UNIX paths for the files youwant to create or press ENTER to accept the default log files.

Displaying spooler log files

To display the contents of the spooler log files, choose Spooler from the System Administrationmenu, then choose error and activity Logs, then choose either rEad error log file or reAd activitylog file.

The activity log file displays information about the spooler (S), the spooler queues (Q), printers (P), andprint jobs (J). Each piece of information is displayed on a separate screen (or series of screens). Thesubject of the information is indicated by the letter in the first column of the report.

When you choose reAd activity log file, spooler information is displayed (indicated by the letter S).Press ENTER to display queue information, printer information, and print job information. Each reportlists the action performed and the date and time it was logged.

You can use the Spooler Log menu to determine when a specified print job was printed. ChooseSpooler from the System Administration menu, then choose error and activity Logs, then chooseWhen was file printed. At the prompt, enter either the UNIX file name that was printed, the print jobID number (the number that was displayed when the print job was generated), or the name of theuser who sent the job to the printer. In the latter case, all jobs sent to the printer by that user will bedisplayed.

Page 259: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Shared Memory (sh Mem) option

259

Shared Memory (sh Mem) optionUse the Shared Memory (sh Mem) option to load BASIC programs into catalog shared memory. Catalogshared memory reduces the amount of memory required for multiple users to run the same programconcurrently.

When you choose sh Mem from the UniVerse System Administration menu, the Shared Memorymenu appears.

Designating programs for catalog shared memory

To designate BASIC programs to run in catalog shared memory, choose Designate shared programsfrom the Shared Memory menu. The Program Selection screen appears.

This screen displays 22 programs at a time from the catdir file. The following example shows anexample of programs listed on the Program Selection screen. If there are more programs than canfit on the screen, a plus sign (+) is displayed next to the last program on the screen. This screen alsodisplays the total size of programs designated to run in catalog shared memory and the amount ofspace available.

The system prompts you to designate programs by entering the following:

▪ The number appearing in front of a program name.

▪ A to designate all the programs in the file. This may take several minutes if there are manyprograms in the file.

▪ L to list the programs currently designated to run.

▪ C to change to another program file either in the UV account or in some other account. Programs inthe file you specify are listed.

The Program Selection screen first displays normally and globally cataloged programs, but any BASICprogram can be loaded into catalog shared memory.

To see a list of the programs already selected, type L. This displays the account, file, record name, andthe number of bytes this program will take up in catalog shared memory.

To change to a different file of BASIC programs, type C. You are prompted to enter the account nameand file you want displayed. The account name can be the name of a UniVerse account (for example,UV) or a UNIX path (such as /u1/uv/BP). The records in the file are displayed 22 at a time.

To remove a program from the list, enter the number of the program and answer N to the question"Should this program run in shared memory?".

To remove all programs from the list, type A.

Installing programs into catalog shared memory

To load programs into shared memory, choose Install programs in shared memory from the SharedMemory menu.

You are asked if you want to change the amount of memory allocated for modifying shared memory.You might want to allocate extra space if all you want to do is change a few programs in catalogshared memory without completely reloading it. Most users will not need extra space and shouldanswer N.

Page 260: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

260

You are then prompted with Continue to load shared memory (Y/N)?. Answer Y to loadyour designated programs into catalog shared memory. Any other response stops the load. UniVerselists the name of each program as it is loads and gives an error message for any program it cannot findand for any records that are not compiled BASIC programs.

You can allocate extra space in the catalog memory segment at startup time by modifying the uv.rcscript. To increase the segment size 8192 bytes, change the following line in uv.rc:

bin/load_shm_cat 2>&1 > /dev/null

to:

bin/load_shm_cat 8192 2>&1 > /dev/null

Modifying catalog shared memory

When you change and recompile a BASIC program, the changes are not applied to the copy of theprogram in shared memory. To update the copy in shared memory, choose Modify shared memoryfrom the Shared Memory menu. This choice displays modification options.

Add a program to shared memory lets you add a new program to catalog shared memory. Anyoneusing the program continues to use it, but everyone who starts the program after it is loaded uses thecopy in catalog shared memory.

Delete a program from shared memory deletes a program from catalog shared memory. This optionprompts you to choose a program by asking for an account, file, and record. If you respond Y to theShould program be deleted from shared memory prompt, the program is removed.Anyone using the program when it is deleted continues to use it. Anyone who starts using the programafter it is deleted gets a copy from disk.

Update a program in shared memory updates a program already loaded into catalog sharedmemory. Again, anyone using the program continues to use the old copy, but anyone who starts theprogram after shared memory is modified gets the new version.

If you try to add or update a program in catalog shared memory when there is not sufficient space, youget a message that you have run out of space. The add or update is aborted. To do the add or update,you have to reload the entire segment.

Import optionUse the Import option to import a Pick or Prime INFORMATION account from a remote system or torestore a Pick or Prime account from tape.

When you choose Import from the UniVerse System Administration menu, the Import menuappears.

Restoring non-UniVerse accounts from tape

To restore or transfer an account, a UniVerse account or a UNIX directory must exist to receive therestored or transferred account. The UniVerse account or UNIX directory will be the parent directoryof the restored or transferred account. If the parent directory does not exist, you must create it beforeyou restore or transfer an account to UniVerse. You can create a UniVerse account using the Accountsoption from the System Administration menu.

Page 261: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Restoring a Prime INFORMATION account

261

The steps are as follows:

1. Choose Import from the System Administration menu. The Import menu appears.2. Choose Magrst a prime tape to restore Prime INFORMATION tapes saved with the MAGSAV

command. Choose Account-restore a pick tape to restore Pick account tapes saved with theACCOUNT-SAVE command.

3. At the MAGRST screen or ACCOUNT-RESTORE screen prompt, enter either the name of theUniVerse account or the path of the UNIX directory under which you want to restore the accountfrom the tape.

The account is restored in a subdirectory of the existing UniVerse account’s directory. If youspecify a UniVerse account name, it must exist in the UV.ACCOUNT file. To see a list of validUniVerse account names, enter an asterisk (*) at the prompt. Be sure to enter the UniVerseaccount name in uppercase letters, where applicable.You can also enter a user name or user ID number. In this case the account is restored in asubdirectory of that user’s home directory.

4. UniVerse prompts you to mount your MAGSAV or ACCOUNTSAVE tape on the specified device.5. Press ENTER. If the tape is properly mounted on the drive, a subdirectory is created with the

name of the account on tape, it is made a UniVerse account, and all the files in the account ontape are restored to it. A list of the file names appears on your screen while the restoration is inprogress. If the directory under which you want to restore the account on tape does not exist, anerror message appears.

Restoring a Prime INFORMATION account

This section describes how to restore Prime INFORMATION accounts that have been saved on tapeusing the MAGSAV command. The example shows how to use the System Administration menus torestore a Prime account, named INFOACCT, to /u1/accts/SALES.

1. Choose Import from the System Administration menu. The Import menu appears.2. Choose Magrst a prime tape. The MAGRST screen appears.3. The following text describes information you can enter in the fields on this screen:

▪ Parent Directory. The directory that is to contain the restored account. You can specify theparent directory either as a UNIX path or as a UniVerse account defined in the UV.ACCOUNTfile. You can also specify a user login name or ID number. The account is restored in the homedirectory of that user.If you specify a UniVerse account, the account on tape is restored as a subdirectory in thespecified UniVerse account’s parent directory. Do not specify the name of the account you arerestoring as the parent directory.In the previous example, the INFOACCT account is restored as a subdirectory under the parentdirectory /u1/accts; the restored account’s directory is /u1/accts/SALES.

▪ No rewind device name. A valid entry in the &DEVICE& file, (such as MT0) or a valid UNIXdevice or file name (such as /dev/rmt12). It specifies the path to use for a tape device thatdoes not rewind when finished. To display a list of all devices defined in the &DEVICE& file,enter an * at the prompt.

▪ Rewind device name. A valid entry in the &DEVICE& file (such as MT0) or a valid UNIX deviceor file name (such as /dev/rmt8). It specifies the path to use for a tape device that rewindswhen finished. To display a list of all devices defined in the &DEVICE& file, enter an * at theprompt.

▪ Device type. One of the following:▪ F Diskette

▪ DT Default nine-track tape (1/2-inch tape)

▪ DC Default cartridge tape (1/4-inch tape)

Page 262: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

262

▪ Input block size. If the device name is found in the &DEVICE& file, the input block size is takenfrom field 16 of the &DEVICE& file. If field 16 of the &DEVICE& file is blank, a default of 8192 isused for 1/2-inch tape devices, and a default of 512 is used for cartridge tape devices. If thedevice name is not found in the &DEVICE& file, a default of 512 is used. This field is not used fordiskettes.

▪ Use type 19 files. The default for this is N, which creates type 1 files. A Y specifies type 19files instead of type 1 files. For more information about type 1 and type 19 files, see UniVerseSystem Description.If the device name is not found in the &DEVICE& file, a warning appears and you are promptedto verify that the defaults for input block size and header files to skip are correct.

Restoring a Pick or REALITY account

This section shows how to use the ACCOUNT-SAVE command to restore accounts that have beensaved on tape using the ACCOUNT-SAVE command. The example shows how to use the SystemAdministration menu to restore a Pick account named SALES to /u1/accts.

The system administration routines execute the UniVerse program tapein to restore multireelACCOUNT-SAVE and MAGSAV tapes.

1. Choose Import from the System Administration menu. The Import menu appears.2. Choose Account-restore a pick tape. The ACCT.RESTORE screen appears.3. Enter text in the fields using the following descriptions:

▪ Parent Directory. The directory that is to contain the restored account. You can specify theparent directory either as a UNIX path or as a UniVerse account defined in the UV.ACCOUNTfile. You can also specify a user login name or ID number. The account will be restored in thehome directory of that user.

If you specify a UniVerse account, it is restored as a subdirectory in the specified UniVerseaccount’s parent directory. Do not specify the name of the account you are restoring as theparent directory.In the previous example, the PICKACCT account is restored as a subdirectory under the parentdirectory /u1/accts. The restored account’s directory is /u1/accts/SALES.

▪ No rewind device name. A valid entry in the &DEVICE& file, (such as MT0) or a valid UNIXdevice or file name (such as /dev/rmt12). It specifies the path to use for a tape device thatdoes not rewind when closed. To display a list of all devices defined in the &DEVICE& file, enteran * at the prompt.

▪ Rewind device name. A valid entry in the &DEVICE& file (such as MT0) or a valid UNIX deviceor file name (such as /dev/rmt8). It specifies the path to use for a tape device that rewindswhen closed. To display a list of all devices defined in the &DEVICE& file, enter an * at theprompt.

▪ Device type. One of the following:▫ F Diskette

▫ DT Default nine-track tape (1/2-inch tape)

▫ DC Default cartridge tape (1/4-inch tape)

▪ Input block size. If the device name is found in the &DEVICE& file, the input block size will betaken from field 16 of the &DEVICE& file. If field 16 of the &DEVICE& is blank, a default of 8192is used for 1/2-inch tape devices, and a default of 512 is used for cartridge tape devices. If thedevice name is not found in the &DEVICE& file, a default of 512 is used. This field is not used fordiskettes.

Page 263: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Running T.LOAD from a file

263

For 1/2-inch tape drives, which read physical tape records, it is important that the input blocksize be large enough to accommodate the largest physical record on the tape, otherwise datawill be lost. Note that some tapes may require a block size larger than 8192.

▪ Pick or Reality data tape. Specify an M (Microdata) for an ACCOUNT-SAVE created on aREALITY machine, and a P for all others.

▪ Use type 19 files. The default for this is N which creates type 1 files. A Y specifies type 19 filesinstead of type 1 files.

If the device name is not found in the &DEVICE& file, the system displays a warning andprompts you to verify that the defaults for input block size, label records, and header files toskip are correct.

Running T.LOAD from a fileBefore running T.LOAD, you must set up an &DEVICE& entry to access the pqic.results file.

1. Choose Devices from the System Administration menu, then choose maintain Devices.2. Enter a new name in the Device Name field, for example, MTFILE. You can specify any user-

defined name as a temporary name for the device.3. Press ENTER to skip to Device Type and enter O for Other.4. Enter the full path of the pqic.results file for Device Pathname (no rewind) and for Device

Pathname (rewind).5. Press ENTER to skip the remaining fields on the screen.6. Save the device entry when prompted.7. Exit the System Administration menu using the Esc key.

LONGNAMES modeIf you restore a file through the System Administration menus, make sure that LONGNAMES has thesame value on both systems or filenames may get truncated.

Devices Option

Use the Devices option to update and maintain the UniVerse file &DEVICE& and the UNIX filesp.config.

When you choose Devices from the UniVerse System Administration menu, the Devices menuappears. When you choose maintain Devices, a data entry screen (called Maintain Devices) for the&DEVICE& file appears.

Updating the &DEVICE& file

To update the &DEVICE& file:

1. Choose the Devices option from the System Administration menu. The Devices menu appears.2. Choose maintain Devices. The Maintain Devices screen appears.3. Enter the logical device name of either a tape device or a printer at the Device Name prompt. The

logical device name is the name used in various UniVerse commands, such as ASSIGN, to refer tothe device. For example, you might enter MT0 for a tape drive, or you might enter LW for a printer.

4. Enter a brief description of the device.5. Enter the type of peripheral device. For tape drives you can enter any of the following:

Code Description

F Diskette.

Page 264: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

264

Code Description

DC Default cartridge tape. Enter DC if you want to run the tape device testing program.DT Default nine-track tape. Enter DT if you want to run the tape device testing

program.C Cartridge tape.T Nine-track tape.P Printer.O A device other than a printer or tape drive.

Later sections describe the remaining information you need to enter to define a tape device, and howto define a printer.

Note: Multireel tape handling for the UniVerse T.DUMP and T.LOAD commands is supported onlyfor device types DC, DT, and F.

Defining a tape device

If you enter either DC or DT as the device type, you are asked if you want to run the tape device testingprogram to determine the following:

▪ Where to allow the tape mode to change from read to write mode

▪ What action to take when a tape file that is opened for read is closed

▪ If a second read call at the end-of-file should return the end-of-file condition again

If you run the tests, their results are automatically filled in for you. If you do not run the tests, you canfill in your own values for these fields.

At the prompts, enter the following information:

Block Size (Field 3). This is needed only if the device is for cartridge tape (types DC and DT) or diskette(type F).

For diskettes the default block size is 500. Do not change this setting; any other block size can causeproblems.

For cartridge tape the block size should be a multiple of 512.

For nine-track tape (types T and DT) there is no default block size for IDEAL and INFORMATION flavoraccounts: tape records are read or written with variable length. If field 3 of the &DEVICE& file is empty,the default block size for PICK or REALITY flavor accounts is 8192.

If the device was assigned using the ASSIGN command, the default block size is taken from field 3 ofthe &DEVICE& file.

If the device was assigned using the T.ATT command, the default block size is taken from field 3 ofthe &DEVICE& file. If that is empty, the default block size is taken from the VOC entry for the T.ATTcommand.

Device Pathname (Fields 2, 6, 7). For tapes, the path can be different depending on whether the tapedrive is a rewind or a no-rewind device. A no-rewind tape drive that does not rewind when closed.A rewind tape drive rewinds when closed. For example, you might enter a path such as /dev/rmt0(arewind device), or /dev/rmt0n (a no-rewind device). It is important that you assign the correct accesspermissions to the device. You can set permissions for a device with the UNIX chmod(1) command.

Lock files (Field 5). When UniVerse and UNIX system processes share a device, it needs a special lockfile that coordinates access to the device when more than one process tries to access it. Field 5 of the&DEVICE& file contains the UNIX paths used to implement the locking protocol used by the UniVersespooler and UNIX facilities such as the spooler and uucp. This field is usually empty for tape devices,

Page 265: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Defining a tape device

265

but can be used to display ownership information. For information about the form of the lock filename for a system, see the UNIX reference manual for the process that is sharing the device.

Backup Shell Command (Field 8). The shell command sequence used to back up files to the device.

Restore Shell Command (Field 9). The shell command sequence used to restore files from the device.

Skip Shell Command (Field 10). The shell command sequence used to move forward one logical tapeblock on the device.

Rewind Shell Command (Field 11). The shell command sequence used to rewind the tape.

Offline Shell Command (Field 12). The shell command sequence used to take the device offline.

If you entered either DC or DT as the device type, and you did not run the tape device testing program,fill in the following three fields:

Read-to-Write Mode Position (Field 13). This specifies where on the tape a change from read mode towrite mode is allowed. Enter one of the following:

Mode Description

L Write must begin at load point. This is the default.E Write can begin at load point or after end-of-file.A Write can begin anywhere on the tape. This usually works only on 1/2-inch tapes.

Close on Read (Field 14). This specifies what action is taken at the close of a tape file which wasopened for read. Enter one of the following:

Option Description

Y Tape moves forward to the beginning of next file on close. This is the default value.Use Y for most 1/4-inch tape devices.

N Tape does not move forward on close. Use N for most 1/2-inch tape devices.

Multiple Read at End-of-File Status (Field 15). This specifies whether a second read call at the end-of-file returns the end-of-file condition again. Enter one of the following:

Option Description

Y The second read call at the end-of-file returns end-of-file indication again. This isthe default value. Use Y for most 1/4-inch tape drives.

N The second read call at the end-of-file returns the first record of the next file. Use Nfor most 1/2-inch tape drives.

Note: Most Berkeley device drivers work with F13-F15 set at A,N,N or E,N,N. Most System V devicedrivers work with E,Y,Y or L,Y,Y.

Account Transfer Block Size (Field 16). This specifies the input block size for use with the accounttransfer functions described in Transferring accounts, on page 64. The default is 8192.

Delete Flag (Field 17). This specifies if this device is included in the rotating file pool when it is opened.Enter one of the following:

Option Description

Y Opened device is not included in the file pool.N Opened device is included in the rotating file pool.

NLS Map Name (Field 19). This specifies the name of a character set map for the device. For moreinformation about maps, see the Rocket UniVerse NLS User Guide.

Page 266: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

266

O_NDELAY (Field 20). If this field contains a Y (or y) when used with the BASIC OPENDEV statement, thefile is opened with the O_NDELAY flag set at the UNIX-level open. Otherwise, the O_NDELAY flag is notset. For more information, see your UNIX documentation for open(2).

Defining a printer

When you enter P as the Device Type, the data entry screen changes.

Defining printers

To define printers, from the System Administration menus, select Spooler, then Device management,then Maintain devices. The data entry screen for the sp.config file prompts you to enter thefollowing information:

Printer Name : Baud Rate :Unix Pathname : Parity :Driver : CR Mode :Form : Tab Expansion :Flow Control : FF Delay :Enable Printing : LF Delay :Enable Queuing : Word Length :Lock file 1 : Map Name :Lock file 2 :Other Options :

The data you enter adds an entry to the &DEVICE& file. It also adds a line to the sp.config file foreach printer. (If you are editing the sp.config file directly with vi or the UniVerse Editor, you cancontinue logical lines across physical lines by putting a backslash ( \ ) or an underscore ( _ ) at the endof all physical lines but the last that make up the logical line.)

Here is an explanation of the parameters you can specify:

Parameter Description

Printer Name The logical printer name; a unique name that identifies the printer. This name isused in various UniVerse commands to refer to the printer.

Unix Path The UNIX path for the printer. This might be a path such as /dev/lp0. Be sure toassign the correct access permissions to the printer. You can set permissions for aprinter with the UNIX chmod(1) command.

Driver The printer driver is a device-specific post-processor for spooled output. The pathof the driver can be up to 22 characters in length. If you need to specify a longerpath, edit the sp.config file. The driver can be a UNIX executable or a shellscript. When the driver is invoked, standard input is taken from the print file andstandard output is sent to the printer device with characteristics set accordingto the PTERM (UNIX) options specified for that printer. In addition five commandline arguments can be specified. Typical uses of the driver are to execute device-specific formatting filters such as a PostScript filter, or to redirect printing using auux command.

Form The name of the default form to be mounted on the printer. The name of the formcan be up to 32 characters long. To print the file, you must specify the exact formname when queuing a spool file or when changing the mounted form or the formrequested. Form names are case-sensitive. You can mount another form on theprinter at any time, or you can use the usa command to mount multiple forms onthe printer.

Page 267: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Defining printers

267

Parameter Description

Flow Control The following types of flow control are available:

▪ none - Cancels any DTR or XON/XOFF flow control handshaking that may be set.

▪ DTR - Enables Data Terminal Ready handshaking. Loss of DTR is treated thesame as the input of the stop character. If DTR is not enabled, loss of DTR istreated as a hangup, and foreground jobs are terminated.

▪ XON/XOFF any - Enables XON/XOFF handshaking. Any character acts the sameas the XON character.

▪ XON/XOFF XON starts - Enables XON/XOFF handshaking. The XON character isrequired to start transmission. On Berkeley systems the XON character is thestart character; on System V, XON is always CTRL-Q.

Enable Printing Enter Y to instruct the spooler daemon to start up with printing enabled for thatprinter.

Enter N to start the spooler with printing disabled. At any time you can enable ordisable printing from the Spooler menu.

Enable Queuing Enter Y to instruct the spooler daemon to start up with queuing enabled for thatprinter.

Enter N to start the spooler with queuing disabled. At any time you can enable ordisable queuing from the Spooler menu.

Baud Rate The following baud rates are supported:

75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200Parity Parity can be one of the following:

NONE, EVEN, ODDCR Mode Carriage return mode, can be any of the following:

▪ no conversion - Resets all CR modes: carriage returns and newlines are notconverted.

▪ convert LF to CR/LF - Converts newline to newline, carriage return on output.

▪ convert CR to LF - Converts carriage return to newline on output.

▪ no CR@(0,0) - Does not output a carriage return when the cursor is at line 0,column 0.

Tab Expansion Enter ON or OFF. If tab expansion is ON, a tab character is expanded to theproper number of spaces on output. Tab stops are set every eight columns. If tabexpansion is OFF, a tab character is unchanged on output. Some terminals (such asADDS Viewpoint) use a tab character as part of the cursor movement function. Onthese terminals tab expansion must be OFF for cursor movement to work properly.

FF Delay Enter * to display a list of possible formfeed delays, then choose one of thefollowing:

▪ no form feeds - Clear-screens are sent to the terminal, but no formfeeds aresent to the line printer.

▪ no delay - Clear-screens are sent to the terminal, and formfeeds are sent to theline printer. Output of a formfeed causes no delay.

▪ 2-second delay - Clear-screens are sent to the terminal, and formfeeds are sentto the line printer. Output of a formfeed causes a two-second delay.

Page 268: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix A: UniVerse system administration menus (UNIX only)

268

Parameter Description

LF Delay Enter * to display a list of possible newline delays, then choose one of thefollowing:

▪ None - No delay for each newline.

▪ .08sec. - A delay of about .08 second occurs after each newline

▪ .10sec. - A delay of about .10 second occurs after each newline.

▪ .16sec. - A delay of about .16 second occurs after each newline.

▪ .18sec. - A delay of about .18 second occurs after each newline.

▪ .26sec. - A delay of about .26 second occurs after each newline.

▪ Teletype37 - A delay dependent on the column position occurs after eachnewline. This mode has been configured for Teletype model 37s.

▪ col+.08sec. - A delay dependent on the column position plus about .08 secondoccurs after each newline.

▪ col+.16sec. - A delay dependent on the column position plus about .16 secondoccurs after each newline.

Word Length The number of data bits that make up a word, not including the parity bit. Can be5, 6, 7, or 8.

Map Name The name of a map you want to assign to the device. This field appears only if NLSis enabled. For information about maps,, see UniVerse NLS Guide.

Lock files When UniVerse and UNIX system processes share a device, it needs a speciallock file created for it that coordinates access to the device when more than oneprocess tries to access it. Field 5 of the &DEVICE& file contains the UNIX pathsused to implement the locking protocol used by the UniVerse spooler and severalUNIX facilities such as the spooler and uucp. For information about the form of thelock file name for a system, see the UNIX reference manual for the process that issharing the device.

Other Options You can specify any of the UniVerse PTERM options to control the port used todrive the printer. See PTERM and stty options, on page 269 for a complete list ofPTERM (UNIX). In addition to the PTERM options, you can also specify NORESET.The NORESET option instructs the spooler daemon not to restore printer devicecharacteristics upon completion of a print job.

User menusIn addition to the UniVerse System Administration menus, UniVerse also provides user menus tosupport print job administration and application conversion functions.

Users can invoke the menus that control spooler queue functions with the command PRINT.ADMIN.

The application conversion functions are supported only in compatibility flavor accounts: PICK,INFORMATION, PIOPEN, REALITY, and IN2. Users can invoke the Account Conversion menu with thecommand CONVERT.ACCOUNT.

Page 269: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

269

Appendix B: PTERM and stty optionsThe PTERM options described in the following table apply to UniVerse systems running Berkeley (BSD)and System V (SysV) implementations of the UNIX operating system. The PTERM options describedapply to UniVerse systems running on Windows platforms. The term Not Supported means that theoption is not available for the system specified.

Option Setting Description stty equivalent

BSD SysV0 Hangs up the dataset connection. 0 0BAUDrate Sets the baud rate of your terminal

to rate. Available baud rates are 0,50, 75, 110, 134, 150, 200, 300, 600,1200, 1800, 2400, 4800, 9600, EXTA,EXTB.

rate rate

ON Causes any job running in thebackground to stop if it attempts tooutput to your terminal.

tostopBGSTOP

OFF Lets background terminal outputto be multiplexed with foregroundoutput.

-tostop

Not Supported

BREAK ON Causes intr, quit, susp, and dsuspto cause a BREAK condition withinUniVerse. On BSD this is supportedby setting the above keys to theirdefault values.

Special isig

OFF Treats intr, quit, susp, and dsusp asnormal input characters. On BSDthis is supported by turning off allthe above keys.

Special -isig

INTR The Break key is treated the sameas the intr key.

Defaultcondition

-ignbrk brkint

IGNORE The Break key is ignored, nointerrupt is generated.

ignbrk -brkint

BREAK(continued)

NUL The Break key is treated as theinput of a NUL (ASCII 0) character.

Not Supported

-ignbrk -brkint

char brk can be used by specialprograms that require input toterminate on a character other thana newline. In UniVerse the brk istreated the same as a newline.

ON Sets the brk character to Return(Ctrl-M).

BRK

OFF Turns off the brk character.

brk Not Supported

ON Specifies a delay of about .05second when a backspace is output.

bs1 bs1BSDELAY

OFF Specifies no delay upon output of abackspace.

bs0 bs0

Page 270: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix B: PTERM and stty options

270

Option Setting Description stty equivalent

INVERT Inverts character case (uppercase tolowercase and vice versa) on input.

NOINVERT Character case is input without anyconversion.

Only inUniVerse

Only inUniVerse

UC-IN Translates uppercase input tolowercase (which might be invertedto uppercase).

iuclc

CASE

UC-OUT Translates lowercase output touppercase.

Not Supported

olcuc

LC-IN Performs no translation of case oninput (even though it still might beinverted).

-iuclc

LC-OUT Performs no translation of case onoutput.

-olcuc

XCASE Uppercase output is precededwith a backslash (\) to distinguishit from lowercase. This is usefulwhen UC-OUT is set because in thiscase uppercase and lowercase areprinted in uppercase.

xcase

NOXCASE No distinction on output betweenuppercase and lowercase.

Not Supported

-xcase

UC Combines UC-IN and UC-OUT. OnBSD this option also sets XCASE.

lcase iuclc

olcuc

CASE

(continued)

LC Combines LC-IN and LC-OUT. OnBSD this option sets NOXCASE.

-lcase -iuclc

-olcucINLCR Converts newline to carriage return

on input.inlcr

NOINLCR Doesn’t convert newline to carriagereturn on input.

-inlcr

IGNCR Ignores carriage return on input. igncrNOIGNCR Doesn’t ignore carriage return on

input.-igncr

ICRNL Converts carriage return to newlineon input.

icrnl

NOICRNL Doesn’t convert carriage return tonewline on input.

-icrnl

CRMODE

ONLCR Converts newline to newline,carriage return on output.

Not Supported

onlcr

Page 271: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

PTERM and stty options

271

Option Setting Description stty equivalent

NOONLCR Doesn’t convert newline to newline,carriage return on output.

-onlcr

OCRNL Converts carriage return to newlineon output.

ocrnl

NOOCRNL Prohibits conversion of carriagereturn to newline on output.

-ocrnl

ONOCR Prohibits output of carriage returnwhen cursor is in column 0.

onocr

NOONOCR Outputs carriage return whencursor is in column 0.

-onocr

ONLRET Newline performs carriage returnfunction.

onlret

NOONL-RET Newline doesn’t perform carriagereturn function.

Not Supported

-onlret

ON Sets ICRNL and ONLCR, resets allother values.

nl

CRMODE

(continued)

OFF Resets all CRMODE values. -nl

Special

DATABITS 5-8 Changes the number of data bits onthe terminal line protocol.

Not

Supported

cs5 cs6

cs7 cs8char The dsusp (delayed-suspend)

character acts like the suspcharacter except that no action istaken until the process actuallyinputs the character. Thus thedsusp character is a way to type-ahead a susp character.

ON Sets the dsusp character to Ctrl-Y.

DSUSP

OFF Turns off the dsusp character.

dsusp Not

Supported

ON Turns on DTR (Data TerminalReady) handshaking. Loss of DTR istreated the same as the input of thestop character.

mdmbufDTR

OFF Turns off DTR handshaking. Lossof DTR is treated as a hang up, andforeground jobs are terminated.

-mdmbuf

Not

Supported

Page 272: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix B: PTERM and stty options

272

Option Setting Description stty equivalent

ON Turns the terminal echo on. echo echoOFF Turns the terminal echo off. -echo -echoFAST Echoes erase as backspace-space-

backspace, and echoes kill asa series of backspace-space-backspaces.

crterase

crtkill

echoe

echok

MEDIUM Echoes erase as backspace-space-backspace.

crterase

-crtkill

echoe

-echokSLOW Echoes erase as a backspace. -crterase

-crtkill

-echoe

-echokPRINTER erase causes deleted characters to

be echoed backwards between \and /.

prterase

CTRL Echoes all control characters (lessthan ASCII 32) in a printable fashionas ^ followed by the appropriatealphabetic character. Echoes Del(ASCII 127) as Ctrl-?.

ctlecho

NOCTRL Echoes all control characters asnonprintable control characters.

-ctlecho

Only in

UniVerse

LF Echoes the newline character evenwhen the echo is turned off. Thismode is useful for some half-duplexterminals.

Not Supported echonl

ECHO

NOLF Doesn’t echo the newline characterwhen the echo is turned off.

Defaultcondition

-echonl

char The eof (end-of-file) character isused to terminate input to manyUNIX commands (mail, dc, andothers). In UniVerse the eof istreated the same as a newline.

ON Sets the eof character to Ctrl-D.

EOF

OFF Turns off the eof character.

eof eof

char eol is the SysV equivalent of theBSD brk character, its uses are thesame, and in UniVerse it is treatedthe same as a newline.

ON Sets the eol character to Return(Ctrl-M).

EOL

OFF Turns off the eol character.

Not Supported eol

char eol2 is a second eol character.ON Sets the eol2 character to Esc ( Ctrl-

[).

EOL2

OFF Turns off the eol2 character.

Not Supported eol2

Machine

dependent

Page 273: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

PTERM and stty options

273

Option Setting Description stty equivalent

char erase causes the previous characterto be deleted from the input.

ON Sets the erase character toBackspace (Ctrl-H).

ERASE

OFF Turns off the erase character.

erase erase

0 Output is paged to the terminal andthe line printer, but the clear-screenis not printed at the beginning ofeach page on the terminal, andno formfeeds are sent to the lineprinter.

1 Clear-screens are sent to theterminal, but no formfeeds are sentto the line printer.

Only inUniVerse

Only in

UniVerse

2 Clear-screens are sent to theterminal, and formfeeds are sentto the line printer, output of aformfeed causes no delay.

ff0 ff0

FFDELAY

3 Clear-screens are sent to theterminal, and formfeeds are sentto the line printer, output of aformfeed caused a two-seconddelay.

ff1 ff1

OFF Specifies that all delays (FFDELAY,LFDELAY, BSDELAY, TABS, VTDELAY)should pause. They should not usefill characters.

DefaultCondition

-ofill

ON Specifies that all delays should usefill characters, the fill charactercan either be a NUL or a DEL (seebelow).

Not Supported ofill

NUL Specifies than when delays areusing fill characters, the characterNUL should be used.

-ofdel

FILL

DEL Specifies than when delays areusing fill characters, the characterDEL should be used.

Not Supported

ofdel

char The flush character stops all outputto the terminal. Unlike the stopcharacter, all output is lost. Toresume output, another flushcharacter must be input.

ON Sets the flush character to Ctrl-O.

FLUSH

OFF Turns off the flush character.

flush Not

Supported

char A literal field mark (ASCII 254) canbe entered using the fmc character.

ON Sets the fmc character to Ctrl-^.

FMC

OFF Turns off the fmc character.

Only inUniVerse

Only in

UniVerse

Page 274: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix B: PTERM and stty options

274

Option Setting Description stty equivalent

ON Input characters are nottransmitted until a carriage return isreceived. Same as MODE LINE.

cooked

-raw

cooked

-raw

INBUFF

OFF Input characters are transmittedas they are received (raw mode).The difference from raw mode isthat for networking the data is notpacketized until a carriage return isreceived. Same as MODE EMULATE.

Only inUniVerse

Only in

UniVerse

ON Allows input of control characters.OFF Disallows input of control

characters.

INPUTCTL

TCL.RESET Disallows input of controlcharacters until TCL level isreached.

Only inUniVerse

Only in

UniVerse

char intr (interrupt) is used to terminatea currently running job. In UniVersethe intr character is treated as aBREAK condition.

ON Sets the intr character to DEL(Ctrl-?).

INTR

OFF Turns off the intr character.

intr intr

char The kill character causes the entireinput line to be erased.

ON Sets the kill character to Ctrl-X.

KILL

OFF Turns off the kill character.

kill kill

char lcont (line-continue) is a shorthandway of extending an input line atthe Command Language prompt.Typing the lcont character is thesame as entering an underscore (_)followed by a newline.

ON Sets the lcont character to Ctrl-_.

LCONT

OFF Turns off the lcont character.

Only inUniVerse

Only in

UniVerse

Page 275: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

PTERM and stty options

275

Option Setting Description stty equivalent

0 Specifies no delay for each newline. cr0 nl0 cr0 nl01 A delay of about .08 second occurs

after each newline.cr1 nl0 cr0 nl1

2 A delay of about .10 second occursafter each newline.

cr0 nl2 cr2 nl0

3 A delay of about .16 second occursafter each newline.

cr2 nl0 cr3 nl0

4 A delay of about .18 second occursafter each newline.

cr1 nl2 cr2 nl1

5 A delay of about .26 second occursafter each newline.

cr2 nl2 cr3 nl1

6 A delay dependent on the columnposition occurs after each newline.This mode has been tuned forTeletype model 37s.

cr0 nl1 cr1 nl0

7 A delay dependent on the columnposition + about .08 second occursafter each newline.

cr1 nl1

LFDELAY

8 A delay dependent on the columnposition + about .16 second occursafter each newline.

cr2 nl1

cr1 nl1

ON Outputs characters with normalpost-processing.

-litout opostLITOUT

OFF Outputs characters withoutpostprocessing.

litout -opost

char The lnext (literal-next) charactercauses the next character typedto be entered literally. No inputprocessing occurs. lnext can beused to enter the erase characterliterally into text. This option has noeffect when used in UniVerse.

ON Sets the lnext character to Ctrl-V.

LNEXT

OFF Turns off the lnext character.

lnext Not

Supported

LINE Input characters are nottransmitted until a carriage return isreceived. Same as INBUFF ON.

cooked

-raw

cooked

-raw

RAW Input characters are transmitted asthey are received.

raw raw

CHAR Input characters are transmitted asthey are received, except for specialcharacters.

cbreak Not

Supported

MODE

EMULATE Input characters are transmittedas they are received (raw mode).The difference from raw mode isthat for networking the data is notpacketized until a carriage return isreceived. Same as INBUFF OFF.

Only in

UniVerse

Only in

UniVerse

Page 276: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix B: PTERM and stty options

276

Option Setting Description stty equivalent

ON Causes the loss of DTR to beignored. Loss of carrier will notterminate a job.

nohanNOHANG

OFF Causes the loss of DTR to betreated as a hang up, and runningforeground jobs are terminated.

-nohan

Not

Supported

NONE Specifies that no parity generationis done for output, and no paritychecking is enforced on input.

even

odd

-parenb

EVEN Even parity is generated for output,and checked for on input (ifenabled).

even

-odd

parenb

-parodd

ODD Odd parity is generated for output,and checked for on input (ifenabled).

-even

odd

parend

parodd

ENABLE Parity input checking is enabled,provided that the parity mode is notset to NONE.

Defaultcondition

inpck

DISABLE Input parity checking is disabled,characters of any parity areallowed.

-inpck

ERR-IGN If input parity checking is enabled,errors (characters of the wrongparity) are ignored.

inpar

ERR-MRK When input parity checkingis enabled, errors are markedby simulating a special inputsequence. This mode cannot beused within UniVerse. If set, it actsthe same as ERR-IGN.

-ignpar

parmrk

PARITY

ERR-NUL When input parity checking isenabled, errors are input as the NULcharacter.

Not Supported

-ignpar

-parmrk

ON Automatically retypes input andenters an erase character. Thismode has no effect within UniVerse.

pendinPENDIN

OFF Doesn’t automatically retype input. -pendinchar quit is used to terminate a currently

running job. However, a core dumpis also produced. In UniVerse thequit character is treated as a BREAKcondition.

ON Sets the quit character to Ctrl-\.

QUIT

OFF Turns off the quit character.

quit quit

Page 277: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

PTERM and stty options

277

Option Setting Description stty equivalent

char The rprnt (reprint) character causesthe previous line to be redisplayed.This is useful when transmissionerrors or background output hasdisturbed the data on the terminalscreen.

ON Sets the rprnt character to Ctrl-R.

RPRNT

OFF Turns off the rprnt character.

rprnt Only in

UniVerse

char A literal subvalue mark (ASCII252) can be entered using the smccharacter.

ON Sets the smc character to Ctrl-\.

SMC

OFF Turns off the smc character.

Only inUniVerse

Only in

UniVerse

ON Sets the null value character to Ctrl-N.

OFF Turns off the null value character.

SQLNULL

char Sets the null value character tochar.

Only inUniVerse

Only inUniVerse

char The counterpart of the stopcharacter, start resumes outputafter it has been held. If the XONSTARTANY option is set, any inputcharacter resumes output, and thestart character is the only characternot entered as data.

ON Sets the start character to Ctrl-Q.

START

OFF Turns off the start character.

start See XON

char The stop character is used totemporarily stop output to theterminal. Output is resumed bytyping the start character (above).

ON Sets the stop character to Ctrl-S.

STOP

OFF Turns off the stop character.

stop See XON

1 The terminal line protocol is set for1 stop bit.

-cstopbSTOPBITS

2 The terminal line protocol is set for2 stop bits.

Not Supported

cstopb

ON Strips the eighth bit off inputcharacters.

istripSTRIP

OFF Doesn’t strip the eighth bit off inputcharacters.

Not Supported

-istrip

char The susp (suspend) characterimmediately causes the current jobto stop. In UniVerse this character istreated as a BREAK condition.

ON Sets the susp character to Ctrl-Z.

SUSP

OFF Turns off the susp character.

susp Not Supported

Page 278: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix B: PTERM and stty options

278

Option Setting Description stty equivalent

char swtch (switch) is used inconjunction with shl to switchterminal input to the layeringprogram (shl).

ON Sets the swtch character to Ctrl-Z.

SWTCH

OFF Turns off the swtch character.

Not Supported swtch Machine

dependent

ON Turns tab expansion on. On output,a tab character is expanded to theproper number of spaces. Tab stopsare set every 8 columns.

-tabs tab3TABS

OFF Turns tab expansion off: on output,a tab character is unchanged. Someterminals (like the ADDS Viewpoint)use a tab character as a part ofthe cursor movement function. Onthese terminals TABS must be set toOFF for cursor movement to workproperly.

tabs tab0

ON Converts ~ (tilde) to ‘ (accent grave)on output.

tildeTILDE

OFF Does not convert ~ (tilde). -tilde

Not

Supported

ON Sets the text mark character to Ctrl-T.

OFF Turns off the text mark character.

TMC

char Sets the text mark character to char.

Only inUniVerse

Only inUniVerse

char A literal value mark (ASCII 253) canbe entered using the vmc character.

ON Sets the vmc character to Ctrl-].

VMC

OFF Turns off the vmc character.

Only inUniVerse

Only inUniVerse

ON Specifies a two-second delay eachtime a vertical tab is output.

vt1VTDELAY

OFF Specifies no delay time when avertical tab is output.

Not

Supportedvt0

char The werase (word erase) charactercauses the previous word (up to butnot including a space) to be deleted.

ON Sets the werase character to Ctrl-W.

WERASE

OFF Turns off the werase character.

werase Only inUniVerse

Page 279: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

PTERM and stty options

279

Option Setting Description stty equivalent

ON Turns on X-ON/X-OFF protocol.When a X-OFF is received by thecomputer, all transmission stopsuntil an X-ON is received. On BSDthe X-OFF character is the stopcharacter and the X-ON is thestart character. This option isimplemented by setting stop andstart to their default values. OnSysV, X-OFF is always Ctrl-S, and X-ON is always Ctrl-Q.

ixon

OFF Disables the X-ON/X-OFF protocol.The X-OFF and the X-ON characterare treated as normal input. OnBSD this option is implementedby turning off the stop and startcharacters.

Special

-ixon

STARTANY Causes the receipt of any characterto act the same as X-ON, if X-ON/X-OFF is enabled.

-decctq ixany

NOSTART-ANY

Requires receiving an X-ON char-acter to restart transmission.

decctq -ixany

NOTANDEM Turns off the automatic X-OFF, X-ONmode described above.

notandem -ixoff

XON

TANDEM Causes the computer, when itsinput buffer is almost full, totransmit an X-OFF character tothe terminal, and when the bufferis almost empty, to transmit anX-ON. This lets the computercommunicate with another deviceor computer.

tandem ixoff

The next table illustrates PTERM options that now use a different command.

Option Setting Equivalent

XOFF XON ONNOXOFF XON OFFFULL ECHO ON

ECHO OFFLF ECHO OFF ECHO LF

HALF

NOLF ECHO OFF ECHO NOLFPRINTER ECHO PRINTERSLOW ECHO SLOWMEDIUM ECHO MEDIUM

TYPE

FAST ECHO FASTON ECHO CTRLCTRLECHOOFF ECHO NOCTRL

Page 280: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix B: PTERM and stty options

280

Option Setting Equivalent

ON XON STARTANYSTARTANYOFF XON NOSTARTANY

CRT ECHO FAST ECHO CTRLDELAY ECHO ONECHONODELAY ECHO ON

The following table lists the PTERM options available on Windows NT systems.

Option Setting Description

0 Hangs up the dataset connection.BAUDrate Sets the baud rate of your terminal to rate. Available baud

rates are 0, 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800,2400, 4800, 9600, EXTA, EXTB.

INVERT Inverts character case (uppercase to lowercase and viceversa) on input.

CASE

NOINVERT Character case is input without any conversion.ICRNL Converts carriage return to newline on input.NOICRNL Doesn’t convert carriage return to newline on input.CRONLY When carriage return and newline are sent as a pair, both

characters are recognized.

CRMODE

NOCRONLY When carriage return and newline are sent as a pair, only thecarriage return is recognized.

ON Turns the terminal echo on.OFF Turns the terminal echo off.CTRL Echoes all control characters (less than ASCII 32) in a print-

able fashion as ^ followed by the appropriate alphabeticcharacter. Echoes Del (ASCII 127) as Ctrl-?.

NOCTRL Echoes all control characters as nonprintable controlcharacters.

LF Echoes the newline character even when the echo is turnedoff. This mode is useful for some half-duplex terminals.

ECHO

NOLF Doesn’t echo the newline character when the echo is turnedoff.

char erase causes the previous character to be deleted from theinput.

ON Sets the erase character to Backspace (Ctrl-H).

ERASE

OFF Turns off the erase character.char A literal field mark (ASCII 254) can be entered using the fmc

character.ON Sets the fmc character to Ctrl-^.

FMC

OFF Turns off the fmc character.ON Input characters are not transmitted until a carriage return is

received. Same as MODE LINE.INBUFF

OFF Input characters are transmitted as they are received (rawmode). The difference from raw mode is that for networkingthe data is not packetized until a carriage return is received.Same as MODE EMULATE.

Page 281: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

PTERM and stty options

281

Option Setting Description

ON Allows input of control characters.OFF Disallows input of control characters.

INPUTCTL

TCL.RESET Disallows input of control characters until TCL level isreached.

char intr (interrupt) is used to terminate a currently running job. InUniVerse the intr character is treated as a BREAK condition.

ON Sets the intr character to DEL (Ctrl-?).

INTR

OFF Turns off the intr character.char The kill character causes the entire input line to be erased.ON Sets the kill character to Ctrl-X.

KILL

OFF Turns off the kill character.char lcont (line-continue) is a shorthand way of extending an input

line at the Command Language prompt. Typing the lcontcharacter is the same as entering an underscore (_) followedby a newline.

ON Sets the lcont character to Ctrl-_.

LCONT

OFF Turns off the lcont character.LINE Input characters are not transmitted until a carriage return is

received. Same as INBUFF ON.RAW Input characters are transmitted as they are received.CHAR Input characters are transmitted as they are received, except

for special characters.

MODE

EMULATE Input characters are transmitted as they are received (rawmode). The difference from raw mode is that for networkingthe data is not packetized until a carriage return is received.Same as INBUFF OFF.

NONE Specifies that no parity generation is done for output, and noparity checking is enforced on input.

EVEN Even parity is generated for output, and checked for on input(if enabled).

ODD Odd parity is generated for output, and checked for on input(if enabled).

ENABLE Parity input checking is enabled, provided that the paritymode is not set to NONE.

DISABLE Input parity checking is disabled, characters of any parity areallowed.

ERR-MRK When input parity checking is enabled, errors are marked bysimulating a special input sequence. This mode cannot beused within UniVerse. If set, it acts the same as ERR-IGN.

PARITY

ERR-NUL When input parity checking is enabled, errors are input as theNUL character.

char The rprnt (reprint) character causes the previous line tobe redisplayed. This is useful when transmission errors orbackground output has disturbed the data on the terminalscreen.

ON Sets the rprnt character to Ctrl-R.

RPRNT

OFF Turns off the rprnt character.

Page 282: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix B: PTERM and stty options

282

Option Setting Description

char A literal subvalue mark (ASCII 252) can be entered using thesmc character.

ON Sets the smc character to Ctrl-\.

SMC

OFF Turns off the smc character.ON Sets the null value character to Ctrl-N.OFF Turns off the null value character.

SQLNULL

char Sets the null value character to char.1 The terminal line protocol is set for 1 stop bit.STOPBITS2 The terminal line protocol is set for 2 stop bits.ON Sets the text mark character to Ctrl-T.OFF Turns off the text mark character.

TMC

char Sets the text mark character to char.char A literal value mark (ASCII 253) can be entered using the vmc

character.ON Sets the vmc character to Ctrl-].

VMC

OFF Turns off the vmc character.char The werase (word erase) character causes the previous word

(up to but not including a space) to be deleted.ON Sets the werase character to Ctrl-W.

WERASE

OFF Turns off the werase character.ON Turns on X-ON/X-OFF protocol. When a X-OFF is received

by the computer, all transmission stops until an X-ON is received. On BSD the X-OFF character is the stopcharacter and the X-ON is the start character. This option isimplemented by setting stop and start to their default values.On SysV, X-OFF is always Ctrl-S, and X-ON is always Ctrl-Q.

OFF Disables the X-ON/X-OFF protocol. The X-OFF and the X-ONcharacter are treated as normal input. On BSD this option isimplemented by turning off the stop and start characters.

NOTANDEM Turns off the automatic X-OFF, X-ON mode described above.

XON

TANDEM Causes the computer, when its input buffer is almost full,to transmit an X-OFF character to the terminal, and whenthe buffer is almost empty, to transmit an X-ON. This lets thecomputer communicate with another device or computer.

Page 283: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

283

Appendix C: terminfo terminal capabilitiesThis appendix contains:

▪ A list of terminals that UniVerse adds to terminfo.src

▪ Descriptions of the four kinds of terminal capability

▪ A table of terminfo variables with their associated names in termcap and in UniVerse

For information about UNIX terminfo entries, see the UNIX documentation supplied with your system.

Additional terminfo entriesListed below are the terminal entries UniVerse adds to the terminfo database. Most entries includeseveral common names for the terminal, separated by a vertical bar ( | ). The last part of each entry isthe full terminal name.

In addition, if a terminal emulates another terminal, the name of the emulated terminal is separatedby a hyphen ( - ) from the name of the terminal emulating it.

vp60-regent40|Adds viewpoint 60 (emulating Adds regent 40)

In the example, the first part of the entry up to the vertical line gives the terminfo name of the terminal(vp60) followed by the name of the terminal it emulates (regent40); the second part of the entry, afterthe vertical line, gives the full descriptive name of the terminal.

97801-UV|97808-UV|97801-uv|97808-uv|SIEMENS terminala210-adm5|adm5|Ampex 210 (emulating Lear Sigler adm5)a210-hz1410|hz1410|Ampex 210 (emulating Hazletine 1410)a210-hz1500|hz1500|Ampex 210 (emulating Hazletine 1500)a210-qt102|qt102|Ampex 210 (emulating Qume 102)a210-regent25|Ampex 210 (emulating Adds Regent 25)

a210-tvi910+|tvi910+|Ampex 210 (emulating Televideo 910+)a210-tvi910|tvi910|Ampex 210 (emulating Televideo 910)a210-tvi920|tvi920|Ampex 210 (emulating Televideo 920)a210-tvi925|Ampex 210 (emulating Televideo 925)a210-vp|Ampex 210 (emulating Adds viewpoint)a210|Ampex 210aixterm-m|hft-m|hft|ibm5151|IBM 5151 display (Aixterm Emulator Monochrome)aixterm|hft-c|IBM Aixterm Terminal Emulatoransi|ansi-uv|terminal_6|6|ANSI Standard Terminalatt3b1|unixpc|pc7300|s4|at|At&t 3b1 Computeratt4410|4410|At&t 4410dumb|paper|unknown|dialup|network|terminal_9|9|Dumb terminalfr200|Liberty Freedom 200gt|Convergent Technologies GThp|Hewlett Packardibm3151|ult3151|IBM 3151 displayibmpc|at386|at386-m|pc386-uv|at386-uv|386atuv|terminal_8|8|IBM PC-AT Consoleicl6404|ICL 6404CG Colour Video Displayin9400-uv-j|in2 terminal with prom Jin9400-uv|in2 terminal with prom K and moreIN|insight terminalmic5510|Microterm 5510Mu|sun|Sun Microsystems Workstation consoleowl|fox|terminal_4|4|Prime Computer owl/fox terminalpst100|terminal_5|5|Prime Computer pst100 terminal

Page 284: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix C: terminfo terminal capabilities

284

pt200c|terminal_10|10|Prime Computer pt200cpt200|pt250|terminal_7|7|fenix|performer|Prime Computer pt200/pt250pt45|terminal_3|3|Prime Computer pt45pt|Convergent Technologies PTregent20|Adds regent 20regent25|Adds regent 25regent40|pt25|terminal_1|1|Adds Regent 40/Prime Computer PT25regent60|Adds regent 60sun-w|Sun Microsystems Workstation console (132 columns)tab15|tk4010tv924|TeleVideo 924tv925|tvi925|terminal_2|2|Televideo 925tv950|Televideo 950tv970|Televideo 970tvi955|Televideo 955uviterm-vw|132x40 aiXterm for UniVerse(variable font)uviterm-v|80x40 aiXterm for UniVerse(variable font)uviterm-w|132x40 aiXterm for UniVerse(fixed font)uviterms-vw|132x25 aiXterm for UniVerse(variable font)uviterms-v|80x25 aiXterm for UniVerse(variable font)uviterms-w|132x25 aiXterm for UniVerse(fixed font)uviterms|80x25 aiXterm for UniVerse(fixed font)uviterm|80x40 aiXterm for UniVerse(fixed font)uvxterm-vw|132x40 Xterm for UniVerse(variable font)uvxterm-v|80x40 Xterm for UniVerse(variable font)uvxterm-w|132x40 Xterm for UniVerse(fixed font)uvxterms-vw|132x25 Xterm for UniVerse(variable font)uvxterms-v|80x25 Xterm for UniVerse(variable font)uvxterms-w|132x25 Xterm for UniVerse(fixed font)uvxterms|80x25 Xterm for UniVerse(fixed font)uvxterm|80x40 Xterm for UniVerse(fixed font)vp60-regent40|Adds viewpoint 60 (emulating Adds regent 40)vp60|vwpt60|viewpoint60|Adds viewpoint 60vp90|Adds Viewpoint 90vp|av|vwpt|viewpoint|Adds viewpointvt100|vt100-am|vt100-uv|vt100ssg-uv|DEC vt100 terminalvt200|vt220|DEC vt200/vt220 8 bit terminalvt300|DEC vt300 Terminalvt52|DEC vt52 Terminalwy200-w|Wyse Technology 200 (132 Columns)wy200|Wyse Technology 200wy50-hz1500|Wyse Technology 50 (emulating Hazletine 1500)wy50-tvi910|Wyse Technology 50 (emulating Televideo 910)wy50-tvi920|Wyse Technology 50 (emulating Televideo 920)wy50-tvi925|Wyse Technology 50 (emulating Televideo 925)wy50-vp|ult50-vp|Wyse Technology 50 (emulating Adds viewpoint)wy50|wy60|ult50|Wyse Technology 50/60wy99gt|Wyse Technology 99GT Native Mode

terminfo terminal capabilitiesTerminal descriptions define what sequences of characters are sent to the terminal to perform specialfunctions. There are three kinds of capability:

▪ Numeric capabilities are limited to a length of five characters which must form a valid number.Only nonnegative numbers (0 through 32,767) are allowed. If a value for a particular capabilitydoes not apply, the field should be left blank.

Page 285: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

terminfo terminal capabilities

285

▪ Boolean capabilities are indicated by the presence of the line in the file. If the line is omitted, thecapability is not present.

▪ String capabilities are limited to a length of 512 bytes. There are two kinds of string capability:string and parameterized string.

String capabilities use the special characters shown in the following table.

Character Description

\E or \e The escape character (ASCII 27).\n or \l The linefeed character (ASCII 10).\r The carriage return character (ASCII 13).\t The tab character (ASCII 9).\b The backspace character (ASCII 8).\f The formfeed character (ASCII 12).\s A space (ASCII 32).^x Represents a control character (ASCII 0 through 31). The character x can be either

uppercase or lowercase. Both ^A and ^a are Ctrl-A, or ASCII 1. ^@ is ASCII 0, ^[isASCII 27 (or ESCAPE), ^\ is ASCII 28, ^] is ASCII 29, ^^ is ASCII 30, and ^_ is ASCII 31.^? is the DEL character (ASCII 127).

\nnn Represents the ASCII character with a value of nnn in octal. For example, \033 is theescape character (ASCII 27).

\\ Represents the backslash ( \ ) character.\, Represents the comma ( , ) character.\^ Represents the caret ( ^ ) character.

Parameterized string capabilities are shown in the following table.

Command Description

%pn Pushes parameter number n onto the stack. n is a number from 1 through 9.%’c’ The ASCII value of character c is pushed onto the stack.%{nnn} Decimal number nnn is pushed onto the top of the stack.%d Pops the top parameter off the stack, and outputs it as a decimal number.%nd Pops the top parameter off the stack, and outputs it as a decimal number in a field

n bytes wide. Spaces are used to fill out the field.%0nd Like %nd, except that zeros are used to fill out the field.%c The top of the stack is taken as a single ASCII character and output.%s The top of the stack is taken as a string and output.%+ %-%* %/ The top two elements are popped off the stack and added, subtracted, multiplied,

or divided. The result is pushed back on the stack. The fractional portion of aquotient is discarded.

%m The second element on the stack is the taken modulo of the first element, and theresult is pushed onto the stack.

%& %| %^ The top two elements are popped off the stack and a bitwise AND, OR, or XORoperation is performed. The result is pushed onto the stack.

%= %< %> The second element on the stack is tested for being equal to, less than, or greaterthan the first element. If the comparison is true, a 1 is pushed onto the stack,otherwise a 0 is pushed.

%! %~ The stack is popped, and either the logical or bitwise NOT of the first element ispushed onto the stack.

Page 286: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix C: terminfo terminal capabilities

286

Command Description

%i One (1) is added to the first two parameters. This is useful for terminals that use aone-based cursor address rather than a zero-based.

%Px Pops the stack, and places the result into variable x, where x is a lowercase letter(a-z).

%gx Pushes the value of variable x on the top of the stack.%? exp %t exp%e exp %;

Forms an if-then-else expression, with %? representing IF, %t representing THEN,%e representing ELSE, and %; terminating the expression. The else expression isoptional. Else-If is possible, for example, %? C1 %t B1 %e C2 %t B2 %e C3 %t B3 %eC4 %t B4 %e %; Cn are conditions, and Bn are bodies.

%% Outputs a percent sign ( % ).

Padding may be necessary for some string capabilities. A delay in milliseconds may appear anywherewithin a string capability. A delay is specified by $<nnn>, where nnn is a decimal number indicating thenumber of milliseconds (1000ths of a second) of delay desired. A proper number of delay characterswill be output, depending upon the current baud rate at the time.

terminfo, termcap, and UniVerseListed in the following table are the terminfo variables and their associated names in termcap andUniVerse. The variable type is also included.

terminfosource

terminfo usage termcap Type UniVerse

acsc acs_chars acs String LINEDRAW.CHARACTERam auto_right_margin am Boolean AUTOMATIC.RIGHT. MARGINat1 at_1 String AT.NEGATIVE.1at2 at_2 String AT.NEGATIVE.2at3 at_3 String AT.NEGATIVE.3at4 at_4 String AT.NEGATIVE.4at5 at_5 String AT.NEGATIVE.5at6 at_6 String AT.NEGATIVE.6at7 at_7 String AT.NEGATIVE.7at8 at_8 String AT.NEGATIVE.8at9 at_9 String AT.NEGATIVE.9at10 at_10 String AT.NEGATIVE.10at11 at_11 String AT.NEGATIVE.11at12 at_12 String AT.NEGATIVE.12at13 at_13 String AT.NEGATIVE.13at14 at_14 String AT.NEGATIVE.14at15 at_15 String AT.NEGATIVE.15at16 at_16 String AT.NEGATIVE.16at17 at_17 String AT.NEGATIVE.17at18 at_18 String AT.NEGATIVE.18at19 at_19 String AT.NEGATIVE.19at20 at_20 String AT.NEGATIVE.20at21 at_21 String AT.NEGATIVE.21

Page 287: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

terminfo, termcap, and UniVerse

287

terminfosource

terminfo usage termcap Type UniVerse

at22 at_22 String AT.NEGATIVE.22at23 at_23 String AT.NEGATIVE.23at24 at_24 String AT.NEGATIVE.24at25 at_25 String AT.NEGATIVE.25at26 at_26 String AT.NEGATIVE.26at27 at_27 String AT.NEGATIVE.27at28 at_28 String AT.NEGATIVE.28at29 at_29 String AT.NEGATIVE.29at30 at_30 String AT.NEGATIVE.30at31 at_31 String AT.NEGATIVE.31at32 at_32 String AT.NEGATIVE.32at33 at_33 String AT.NEGATIVE.33at34 at_34 String AT.NEGATIVE.34at35 at_35 String AT.NEGATIVE.35at36 at_36 String AT.NEGATIVE.36at37 at_37 String AT.NEGATIVE.37at38 at_38 String AT.NEGATIVE.38at39 at_39 String AT.NEGATIVE.39at40 at_40 String AT.NEGATIVE.40at41 at_41 String AT.NEGATIVE.41at42 at_42 String AT.NEGATIVE.42at43 at_43 String AT.NEGATIVE.43at44 at_44 String AT.NEGATIVE.44at45 at_45 String AT.NEGATIVE.45at46 at_46 String AT.NEGATIVE.46at47 at_47 String AT.NEGATIVE.47at48 at_48 String AT.NEGATIVE.48at49 at_49 String AT.NEGATIVE.49at50 at_50 String AT.NEGATIVE.50at51 at_51 String AT.NEGATIVE.51at52 at_52 String AT.NEGATIVE.52at53 at_53 String AT.NEGATIVE.53at54 at_54 String AT.NEGATIVE.54at55 at_55 String AT.NEGATIVE.55at56 at_56 String AT.NEGATIVE.56at57 at_57 String AT.NEGATIVE.57at58 at_58 String AT.NEGATIVE.58at59 at_59 String AT.NEGATIVE.59at60 at_60 String AT.NEGATIVE.60at61 at_61 String AT.NEGATIVE.61at62 at_62 String AT.NEGATIVE.62at63 at_63 String AT.NEGATIVE.63

Page 288: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix C: terminfo terminal capabilities

288

terminfosource

terminfo usage termcap Type UniVerse

at64 at_64 String AT.NEGATIVE.64at65 at_65 String AT.NEGATIVE.65at66 at_66 String AT.NEGATIVE.66at67 at_67 String AT.NEGATIVE.67at68 at_68 String AT.NEGATIVE.68at69 at_69 String AT.NEGATIVE.69at70 at_70 String AT.NEGATIVE.70at71 at_71 String AT.NEGATIVE.71at72 at_72 String AT.NEGATIVE.72at73 at_73 String AT.NEGATIVE.73at74 at_74 String AT.NEGATIVE.74at75 at_75 String AT.NEGATIVE.75at76 at_76 String AT.NEGATIVE.76at77 at_77 String AT.NEGATIVE.77at78 at_78 String AT.NEGATIVE.78at79 at_79 String AT.NEGATIVE.79at80 at_80 String AT.NEGATIVE.80at81 at_81 String AT.NEGATIVE.81at82 at_82 String AT.NEGATIVE.82at83 at_83 String AT.NEGATIVE.83at84 at_84 String AT.NEGATIVE.84at85 at_85 String AT.NEGATIVE.85at86 at_86 String AT.NEGATIVE.86at87 at_87 String AT.NEGATIVE.87at88 at_88 String AT.NEGATIVE.88at89 at_89 String AT.NEGATIVE.89at90 at_90 String AT.NEGATIVE.90at91 at_91 String AT.NEGATIVE.91at92 at_92 String AT.NEGATIVE.92at93 at_93 String AT.NEGATIVE.93at94 at_94 String AT.NEGATIVE.94at95 at_95 String AT.NEGATIVE.95at96 at_96 String AT.NEGATIVE.96at97 at_97 String AT.NEGATIVE.97at98 at_98 String AT.NEGATIVE.98at99 at_99 String AT.NEGATIVE.99at100 at_100 String AT.NEGATIVE.100at101 at_101 String AT.NEGATIVE.101at102 at_102 String AT.NEGATIVE.102at103 at_103 String AT.NEGATIVE.103at104 at_104 String AT.NEGATIVE.104at105 at_105 String AT.NEGATIVE.105

Page 289: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

terminfo, termcap, and UniVerse

289

terminfosource

terminfo usage termcap Type UniVerse

at106 at_106 String AT.NEGATIVE.106at107 at_107 String AT.NEGATIVE.107at108 at_108 String AT.NEGATIVE.108at109 at_109 String AT.NEGATIVE.109at110 at_110 String AT.NEGATIVE.110at111 at_111 String AT.NEGATIVE.111at112 at_112 String AT.NEGATIVE.112at113 at_113 String AT.NEGATIVE.113at114 at_114 String AT.NEGATIVE.114at115 at_115 String AT.NEGATIVE.115at116 at_116 String AT.NEGATIVE.116at117 at_117 String AT.NEGATIVE.117at118 at_118 String AT.NEGATIVE.118at119 at_119 String AT.NEGATIVE.119bel bell bl String BELLblink enter_blink_mode mb String VIDEO.BLINKbold enter_bold_mode md String VIDEO.BOLDbs backspace bs String BACKSPACEbw auto_left_margin bw Boolean AUTOMATIC.LEFT. MARGINcbt back_tab bt String BACK.TABchts cursor_hard Boolean HARD.CURSORcivis cursor_invisible vi String CURSOR.INVISIBLEclear clear_screen cl String ERASE.SCREENcmdch command_character CC String COMMAND.CHARACTERcnorm cursor_normal ve String CURSOR.NORMALcols columns co Number COLUMNScr carriage_return cr String CARRIAGE.RETURNcsr change_scroll_region cs Prm. String CHANGE.SCROLL. REGIONctab clear_tab String TAB.STOP.CLEARcub parm_left_cursor LE Prm. String MOVE.CURSOR. LEFT.PARMcub1 cursor_left le String MOVE.CURSOR.LEFTcud parm_down_cursor DO Prm. String MOVE.CURSOR. DOWN.PARMcud1 cursor_down do String MOVE.CURSOR.DOWNcuf parm_right_cursor RI Prm. String MOVE.CURSOR. RIGHT.PARMcuf1 cursor_right nd String MOVE.CURSOR.RIGHTcup cursor_address cm Prm. String MOVE.CURSOR.TO. ADDRESScuu parm_up_cursor UP Prm. String MOVE.CURSOR.UP. PARMcuu1 cursor_up up String MOVE.CURSOR.UPcvvis cursor_visible vs String CURSOR.VISIBLEda memory_above da Boolean MEMORY.ABOVEdb memory_below db Boolean MEMORY.BELOWdch parm_dch DC Prm. String DELETE.CHARACTER. PARM

Page 290: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix C: terminfo terminal capabilities

290

terminfosource

terminfo usage termcap Type UniVerse

dch1 delete_character dc String DELETE.CHARACTERdim enter_dim_mode mh String VIDEO.DIMdl parm_delete_line DL Prm. String DELETE.LINE.PARMdl1 delete_line dl String DELETE.LINEdldblc d_ld_botleft String DBLE.LDRAW.LO.LEFT. CORNERdldbrc d_ld_botright String DBLE.LDRAW.LO.

RIGHT.CORNERdldh d_ld_hor String DBLE.LDRAW.HORIZdldtcr d_ld_cross String DBLE.LDRAW.CROSSdldtd d_ld_tdown String DBLE.LDRAW.LO.TEEdldtl d_ld_tleft String DBLE.LDRAW.LEFT.TEEdldtr d_ld_tright String DBLE.LDRAW.RIGHT. TEEdldtu d_ld_tup String DBLE.LDRAW.UP.TEEdldulc d_ld_upleft String DBLE.LDRAW.UP.LEFT. CORNERdldurc d_ld_upright String DBLE.LDRAW.UP.

RIGHT.CORNERdldv d_ld_vert String DBLE.LDRAW.VERTdsl dis_status_line ds String STATUS.LINE.DISABLEebos clr_bos String ERASE.TO.BEGINNING

OF.SCREENech erase_chars ec Prm. String ERASE.CHARACTERSed clr_eos cd String ERASE.TO.END.OF. SCREENel clr_eol ce String ERASE.TO.END.OF. LINEel1 clr_bol cb String ERASE.TO. BEGINNING.OF.LINEeline clr_line String ERASE.LINEenacs ena_acs eA String ENABLE.LINEDRAWeo erase_overstrike eo Boolean ERASES.OVERSTRIKEeslok status_line_esc_ok es Boolean STATUS.LINE.ESC.OKff form_feed ff String FORM.FEEDflash flash_screen vb String SCREEN.FLASHfsl from_status_line fs String STATUS.LINE.ENDgn generic_type gn Boolean GENERIC.TYPEgofl goto_func_line Prm. String FUNCTION.LINE. BEGINhc hard_copy hc Boolean HARD.COPYhd down_half_line hd String DOWN.HALF.LINEhfl has_function_line Boolean HAS.FUNCTION.LINEhome cursor_home ho String MOVE.CURSOR.TO. HOMEhpa column_address ch Prm. String MOVE.CURSOR.TO. COLUMNhs has_status_line hs Boolean HAS.STATUS.LINEht tab ta String TABhts set_tab st String TAB.STOP.SEThu up_half_line hu String UP.HALF.LINEhz tilde_glitch hz Boolean UNABLE.TO.PRINT. TILDE

Page 291: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

terminfo, termcap, and UniVerse

291

terminfosource

terminfo usage termcap Type UniVerse

ich parm_ich IC Prm. String INSERT.CHARACTER. PARMich1 ins_prefix ic String INS.PREFIXichx insert_character String INSERT.CHARACTERif init_file if String INIT.FILEil parm_insert_line il Prm. String INSERT.LINE.PARMil1 insert_line al String INSERT.LINEin insert_null_glitch in Boolean INSERT.NULL.SPECIALind scroll_forward sf String SCROLL.UPindn parm_index SF Prm. String SCROLL.UP.PARMinvis enter_secure_mode mk String VIDEO.BLANKip insert_padding ip String INSERT.PADiprog init_prog iP String INIT.PROGis1 init_1string i1 String INIT.1STRINGis2 init_2string is String INIT.2STRINGis3 init_3string i2 String INIT.3STRINGit init_tabs Number TAB.STOP.INITIALkBEG key_sbeg &9 String KEY.SBEGkCAN key_scancel &0 String KEY.SCANCELkCMD key_scommand *1 String KEY.SCOMMANDkCPY key_scopy *2 String KEY.SCOPYkCRT key_screate *3 String KEY.SCREATEkDC key_sdc *4 String KEY.SDCkDL key_sdl *5 String KEY.SDLkEND key_send *7 String KEY.SENDkEOL key_seol *8 String KEY.SEOLkEXT key_sexit *9 String KEY.SEXITkFND key_sfind *0 String KEY.SFINDkHLP key_shelp #1 String KEY.SHELPkHOM key_shome #2 String KEY.SHOMEkIC key_sic #3 String KEY.SICkLFT key_sleft #4 String KEY.SLEFTkMOV key_smove %b String KEY.SMOVEkMSG key_smessage %a String KEY.SMESSAGEkNXT key_snext %c String KEY.SNEXTkOPT key_soptions %d String KEY.SOPTIONSkPRT key_sprint %f String KEY.SPRINTkPRV key_sprevious %e String KEY.SPREVIOUSkRDO key_sredo %g String KEY.SREDOkRES key_sresume %j String KEY.SRESUMEkRIT key_sright %i String KEY.SRIGHTkRPL key_sreplace %h String KEY.SREPLACEkSAV key_ssave !1 String KEY.SSAVE

Page 292: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix C: terminfo terminal capabilities

292

terminfosource

terminfo usage termcap Type UniVerse

kSPD key_ssuspend !2 String KEY.SSUSPENDkUND key_sundo !3 String KEY.SUNDOka1 key_a1 K1 String KEY.A1ka3 key_a3 K3 String KEY.A3kb2 key_b2 K2 String KEY.B2kbeg key_beg @1 String KEY.BEGkbs key_backspace kb String KEY.BACKSPACEkc1 key_c1 K4 String KEY.C1kc3 key_c3 K5 String KEY.C3kcan key_cancel @2 String KEY.CANCELkcbt key_cbt KB String KEY.BACK.TABkclo key_close @3 String KEY.CLOSEkclr key_clear KC String KEY.ERASE.SCREENkcmd key_command @4 String KEY.COMMANDkcpy key_copy @5 String KEY.COPYkcrt key_create @6 String KEY.CREATEkctab key_ctab kt String KEY.TAB.STOP.CLEARkcub1 key_left kl String KEY.MOVE.CURSOR. LEFTkcud1 key_down kd String KEY.MOVE.CURSOR. DOWNkcuf1 key_right kr String KEY.MOVE.CURSOR. RIGHTkcuu1 key_up ku String KEY.MOVE.CURSOR. UPkdch1 key_dc kD String KEY.DELETE. CHARACTERkdl1 key_dl kL String KEY.DELETE.LINEkebck ke_back String KEYEDIT.MOVE. BACKWARDkebs ke_backspace String KEYEDIT.BACKSPACEked key_eos kS String KEY.ERASE.END.OF. SCREENkedel ke_delete_ character String KEYEDIT.DELETE. CHARACTERkeeol ke_eof String KEYEDIT.ERASE.END. OF.FIELDkeera ke_erase String KEYEDIT.ERASE.FIELDkeesc ke_escape_prefix String KEYEDIT.ESCAPEkefun ke_function_prefix String KEYEDIT.FUNCTIONkefwd ke_forward String KEYEDIT.MOVE.FORWARDkeins ke_ins_character String KEYEDIT.INSERT. CHARACTERkeiof ke_insoff String KEYEDIT.INSERT. MODE.ENDkeion ke_inson String KEYEDIT.INSERT. MODE.BEGINkeitg ke_ins_toggle String KEYEDIT.INSERT.

MODE.TOGGLEkel key_eol kE String KEY.ERASE.END.OF. LINEkend key_end @7 String KEY.ENDkent key_enter @8 String KEY.ENTERkexit ke_exit_input_mode String KEYEDIT.EXITkext key_exit @9 String KEY.EXIT

Page 293: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

terminfo, termcap, and UniVerse

293

terminfosource

terminfo usage termcap Type UniVerse

kf0 key_f0 k0 String KEY.FUNCTION.0kf1 key_f1 k1 String KEY.FUNCTION.1kf2 key_f2 k2 String KEY.FUNCTION.2kf3 key_f3 k3 String KEY.FUNCTION.3kf4 key_f4 k4 String KEY.FUNCTION.4kf5 key_f5 k5 String KEY.FUNCTION.5kf6 key_f6 k6 String KEY.FUNCTION.6kf7 key_f7 k7 String KEY.FUNCTION.7kf8 key_f8 k8 String KEY.FUNCTION.8kf9 key_f9 k9 String KEY.FUNCTION.9kf10 key_f10 k; String KEY.FUNCTION.10kf11 key_f11 F1 String KEY.FUNCTION.11kf12 key_f12 F2 String KEY.FUNCTION.12kf13 key_f13 F3 String KEY.FUNCTION.13kf14 key_f14 F4 String KEY.FUNCTION.14kf15 key_f15 F5 String KEY.FUNCTION.15kf16 key_f16 F6 String KEY.FUNCTION.16kf17 key_f17 F7 String KEY.FUNCTION.17kf18 key_f18 F8 String KEY.FUNCTION.18kf19 key_f19 F9 String KEY.FUNCTION.19kf20 key_f20 FA String KEY.FUNCTION.20kf21 key_f21 FB String KEY.FUNCTION.21kf22 key_f22 FC String KEY.FUNCTION.22kf23 key_f23 FD String KEY.FUNCTION.23kf24 key_f24 FE String KEY.FUNCTION.24kf25 key_f25 FF String KEY.FUNCTION.25kf26 key_f26 FG String KEY.FUNCTION.26kf27 key_f27 FH String KEY.FUNCTION.27kf28 key_f28 FI String KEY.FUNCTION.28kf29 key_f29 FJ String KEY.FUNCTION.29kf30 key_f30 FK String KEY.FUNCTION.30kf31 key_f31 FL String KEY.FUNCTION.31kf32 key_f32 FM String KEY.FUNCTION.32kf33 key_f33 FN String KEY.FUNCTION.33kf34 key_f34 FO String KEY.FUNCTION.34kf35 key_f35 FP String KEY.FUNCTION.35kf36 key_f36 FQ String KEY.FUNCTION.36kf37 key_f37 FR String KEY.FUNCTION.37kf38 key_f38 FS String KEY.FUNCTION.38kf39 key_f39 FT String KEY.FUNCTION.39kf40 key_f40 FU String KEY.FUNCTION.40kf41 key_f41 FV String KEY.FUNCTION.41

Page 294: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix C: terminfo terminal capabilities

294

terminfosource

terminfo usage termcap Type UniVerse

kf42 key_f42 FW String KEY.FUNCTION.42kf43 key_f43 FX String KEY.FUNCTION.43kf44 key_f44 FY String KEY.FUNCTION.44kf45 key_f45 FZ String KEY.FUNCTION.45kf46 key_f46 Fa String KEY.FUNCTION.46kf47 key_f47 Fb String KEY.FUNCTION.47kf48 key_f48 Fc String KEY.FUNCTION.48kf49 key_f49 Fd String KEY.FUNCTION.49kf50 key_f50 Fe String KEY.FUNCTION.50kf51 key_f51 Ff String KEY.FUNCTION.51kf52 key_f52 Fg String KEY.FUNCTION.52kf53 key_f53 Fh String KEY.FUNCTION.53kf54 key_f54 Fi String KEY.FUNCTION.54kf55 key_f55 Fj String KEY.FUNCTION.55kf56 key_f56 Fk String KEY.FUNCTION.56kf57 key_f57 Fl String KEY.FUNCTION.57kf58 key_f58 Fm String KEY.FUNCTION.58kf59 key_f59 Fn String KEY.FUNCTION.59kf60 key_f60 Fo String KEY.FUNCTION.60kf61 key_f61 Fp String KEY.FUNCTION.61kf62 key_f62 Fq String KEY.FUNCTION.62kf63 key_f63 Fr String KEY.FUNCTION.63kfnd key_find @0 String KEY.FINDkhlp key_help %1 String KEY.HELPkhome key_home kh String KEY.MOVE.CURSOR. TO.HOMEkhts key_stab kT String KEY.TAB.STOP.SETkich1 key_ic kI String KEY.ICkichx key_ich1 String KEY.INSERT. CHARACTERkil1 key_il kA String KEY.INSERT.LINEkind key_sf kF String KEY.SCROLL.UPkll key_ll kH String KEY.MOVE.CURSOR.

TO.LAST.LINEkm has_meta_key km Boolean HAS.META.KEYkmov key_move %4 String KEY.MOVEkmrk key_mark %2 String KEY.MARKkmsg key_message %3 String KEY.MESSAGEknp key_npage kN String KEY.NEXT.PAGEknxt key_next %5 String KEY.NEXTkopn key_open %6 String KEY.OPENkopt key_options %7 String KEY.OPTIONSkpp key_ppage kP String KEY.PREVIOUS.PAGEkprt key_print %9 String KEY.PRINT

Page 295: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

terminfo, termcap, and UniVerse

295

terminfosource

terminfo usage termcap Type UniVerse

kprv key_previous %8 String KEY.PREVIOUSkrdo key_redo %0 String KEY.REDOkref key_reference &1 String KEY.REFERENCEkres key_resume &5 String KEY.RESUMEkrfr key_refresh &2 String KEY.REFRESHkri key_sr kR String KEY.SCROLL.DOWNkrmir key_eic kM String KEY.INSERT.MODE.ENDkrpl key_replace &3 String KEY.REPLACEkrst key_restart &4 String KEY.RESTARTksav key_save &6 String KEY.SAVEksend key_send *7 String KEY.SENDkslt key_select *6 String KEY.SELECTksmir key_smir String KEY.INSERT.MODE.ONkspd key_suspend &7 String KEY.SUSPENDktbc key_catab ka String KEY.TAB.STOP.CLEAR.ALLktmir key_toggle_ir String KEY.INSERT.MOVE. TOGGLEkund key_undo &8 String KEY.UNDOldatt line_attribute Number LINE.ATTRIBUTEldbl ld_botleft String LINEDRAW.LOWER.

LEFT.CORNERldblcdh ld_boledho String LDRAW.LO.LEFT.

CORNER.DBLE.HORIZldblcdv ld_boledve String LDRAW.LO.LEFT.

CORNER.DBLE.VERTldbr ld_botright String LINEDRAW.LOWER.

RIGHT.CORNERldbrcdh ld_boridho String LDRAW.LO.RIGHT.

CORNER.DBLE.HORIZldbrcdv ld_boridve String LDRAW.LO.RIGHT.

CORNER.DBLE.VERTldbtdh ld_tbodhor String LDRAW.LOWER.TEE.

DBLE.HORIZldbtdv ld_tbodver String LDRAW.LOWER.TEE. DBLE.VERTldcrdh ld_cr_d_ho String LDRAW.CROSS.DBLE. HORIZldcrdv ld_cr_d_ve String LDRAW.CROSS.DBLE. VERTldhb ld_horbot String LINEDRAW.LOWER.

HORIZONTALldhc lc_horctr String LINEDRAW.CENTER.

HORIZONTALldht ld_hortop String LINEDRAW.UPPER.

HORIZONTALldltdh ld_tledhor String LDRAW.LEFT.TEE.DBLE. HORIZldltdv ld_tledver String LDRAW.LEFT.TEE.DBLE. VERTldrtdh ld_tridhor String LDRAW.RIGHT.TEE. DBLE.HORIZ

Page 296: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix C: terminfo terminal capabilities

296

terminfosource

terminfo usage termcap Type UniVerse

ldrtdv ld_tridver String LDRAW.RIGHT.TEE. DBLE.VERTldtc ld_tcross String LINEDRAW.CROSSldtd ld_tdown String LINEDRAW.UPPER.TEEldtl ld_tleft String LINEDRAW.RIGHT.TEEldtr ld_tright String LINEDRAW.LEFT.TEEldtu ld_tup String LINEDRAW.LOWER.TEEldul ld_upleft String LINEDRAW.UPPER.

LEFT.CORNERldulcdh ld_upledho String LDRAW.UP.LEFT.

CORNER.DBLE.HORIZldulcdv ld_upledve String LDRAW.UP.LEFT.

CORNER.DBLE.VERTldur ld_upright String LINEDRAW.UPPER.

RIGHT.CORNERldurcdh ld_upridho String LDRAW.UP.RIGHT.

CORNER.DBLE.HORIZldurcdv ld_upridve String LDRAW.UP.RIGHT.

CORNER.DBLE.VERTldutdh ld_tupdhor String LDRAW.UP.TEE.DBLE. HORIZldutdv ld_tupdver String LDRAW.UP.TEE.DBLE. VERTldvc ld_vertcenter String LINEDRAW.CENTER. VERTICALldvl ld_vertleft String LINEDRAW.LEFT. VERTICALldvr ld_vertright String LINEDRAW.RIGHT. VERTICALlf linefeed lf String LINE.FEEDlf0 lab_f0 l0 String LABEL.KEY.FUNCTION.0lf1 lab_f1 l1 String LABEL.KEY.FUNCTION.1lf2 lab_f2 l2 String LABEL.KEY.FUNCTION.2lf3 lab_f3 l3 String LABEL.KEY.FUNCTION.3lf4 lab_f4 l4 String LABEL.KEY.FUNCTION.4lf5 lab_f5 l5 String LABEL.KEY.FUNCTION.5lf6 lab_f6 l6 String LABEL.KEY.FUNCTION.6lf7 lab_f7 l7 String LABEL.KEY.FUNCTION.7lf8 lab_f8 l8 String LABEL.KEY.FUNCTION.8lf9 lab_f9 l9 String LABEL.KEY.FUNCTION.9lf10 lab_f10 la String LABEL.KEY.FUNCTION.10lf11 lab_f11 String LABEL.KEY.FUNCTION.11lf12 lab_f12 String LABEL.KEY.FUNCTION.12lf13 lab_f13 String LABEL.KEY.FUNCTION.13lf14 lab_f14 String LABEL.KEY.FUNCTION.14lf15 lab_f15 String LABEL.KEY.FUNCTION.15lf16 lab_f16 String LABEL.KEY.FUNCTION.16lf17 lab_f17 String LABEL.KEY.FUNCTION.17lf18 lab_f18 String LABEL.KEY.FUNCTION.18

Page 297: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

terminfo, termcap, and UniVerse

297

terminfosource

terminfo usage termcap Type UniVerse

lf19 lab_f19 String LABEL.KEY.FUNCTION.19lf20 lab_f20 String LABEL.KEY.FUNCTION.20lf21 lab_f21 String LABEL.KEY.FUNCTION.21lf22 lab_f22 String LABEL.KEY.FUNCTION.22lf23 lab_f23 String LABEL.KEY.FUNCTION.23lf24 lab_f24 String LABEL.KEY.FUNCTION.24lf25 lab_f25 String LABEL.KEY.FUNCTION.25lf26 lab_f26 String LABEL.KEY.FUNCTION.26lf27 lab_f27 String LABEL.KEY.FUNCTION.27lf28 lab_f28 String LABEL.KEY.FUNCTION.28lf29 lab_f29 String LABEL.KEY.FUNCTION.29lf30 lab_f30 String LABEL.KEY.FUNCTION.30lf31 lab_f31 String LABEL.KEY.FUNCTION.31lf32 lab_f32 String LABEL.KEY.FUNCTION.32lf33 lab_f33 String LABEL.KEY.FUNCTION.33lf34 lab_f34 String LABEL.KEY.FUNCTION.34lf35 lab_f35 String LABEL.KEY.FUNCTION.35lf36 lab_f36 String LABEL.KEY.FUNCTION.36lf37 lab_f37 String LABEL.KEY.FUNCTION.37lf38 lab_f38 String LABEL.KEY.FUNCTION.38lf39 lab_f39 String LABEL.KEY.FUNCTION.39lf40 lab_f40 String LABEL.KEY.FUNCTION.40lf41 lab_f41 String LABEL.KEY.FUNCTION.41lf42 lab_f42 String LABEL.KEY.FUNCTION.42lf43 lab_f43 String LABEL.KEY.FUNCTION.43lf44 lab_f44 String LABEL.KEY.FUNCTION.44lf45 lab_f45 String LABEL.KEY.FUNCTION.45lf46 lab_f46 String LABEL.KEY.FUNCTION.46lf47 lab_f47 String LABEL.KEY.FUNCTION.47lf48 lab_f48 String LABEL.KEY.FUNCTION.48lf49 lab_f49 String LABEL.KEY.FUNCTION.49lf50 lab_f50 String LABEL.KEY.FUNCTION.50lf51 lab_f51 String LABEL.KEY.FUNCTION.51lf52 lab_f52 String LABEL.KEY.FUNCTION.52lf53 lab_f53 String LABEL.KEY.FUNCTION.53lf54 lab_f54 String LABEL.KEY.FUNCTION.54lf55 lab_f55 String LABEL.KEY.FUNCTION.55lf56 lab_f56 String LABEL.KEY.FUNCTION.56lf57 lab_f57 String LABEL.KEY.FUNCTION.57lf58 lab_f58 String LABEL.KEY.FUNCTION.58lf59 lab_f59 String LABEL.KEY.FUNCTION.59lf60 lab_f60 String LABEL.KEY.FUNCTION.60

Page 298: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix C: terminfo terminal capabilities

298

terminfosource

terminfo usage termcap Type UniVerse

lf61 lab_f61 String LABEL.KEY.FUNCTION.61lf62 lab_f62 String LABEL.KEY.FUNCTION.62lf63 lab_f63 String LABEL.KEY.FUNCTION.63lh label_height lh Number LABEL.HEIGHTlines lines li Number LINESll cursor_to_ll ll String MOVE.CURSOR.TO. LAST.LINElm lines_of_memory lm Number LINES.OF.MEMORYlw label_width lw Number LABEL.WIDTHmacs move_alternate_

charsetBoolean MOVE.LINEDRAW. MODE

mc0 print_screen ps String PRINT.SCREENmc4 prtr_off pf String PRINT.MODE.BEGINmc5 prtr_on po String PRINT.MOVE.ENDmc5i prtr_silent 5i Boolean PRTR.SILENTmc5p prtr_non pO String PRTR.NONmgc clear_margins MC String CLEAR.MARGINSmir move_insert_mode mi Boolean MOVE.INSERT.MODEmrcup cursor_mem_address CM Prm. String CURSOR.MEM. ADDRESSmsgr move_standout_mode ms Boolean MOVE.VIDEO.MODEnel newline nw String NEWLINEnlab num_labels Nl Number NUM.LABELSnorm enter_normal_video String VIDEO.NORMALnpc no_pad_char NP Boolean NO.PAD.CHARnrrmc non_rev_rmcup NR Boolean NON.REV.RMCUPnxon needs_xon_xoff nx Boolean NEEDS.XON.XOFFos over_strike os Boolean OVERSTRIKESpad pad_char pc String PADDING.CHARACTERpb padding_baud_rate pb Number PAD.BAUD.RATEpblnk pro_blink String PROTECT.VIDEO.BLINKpbold pro_bold String PROTECT.VIDEO.BOLDpdim pro_dim String PROTECT.VIDEO.DIMpfkey pkey_key pk String PKEY.KEYpfloc pkey_local pl String PKEY.LOCALpfx pkey_xmit px String PKEY.XMITpinv pro_blank String PROTECT.VIDEO.BLANKpln plab_norm pn String PLAB.NORMpnorm pro_normal String PROTECT.VIDEO. NORMALprcol protect_column String WRITE.PROTECT. COLUMNprev pro_reverse String PROTECT.VIDEO. REVERSEprot enter_protected_mode mp String ENTER.PROTECTED. MODEpso pro_standout String PROTECT.VIDEO. STANDOUTpulin pro_underline String PROTECT.VIDEO. UNDERLINE

Page 299: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

terminfo, termcap, and UniVerse

299

terminfosource

terminfo usage termcap Type UniVerse

rc restore_cursor rc String CURSOR.RESTORErefl leave_func_line String FUNCTION.LINE.ENDrep repeat_char rp String REPEAT.CHARrev enter_reverse_mode mr String VIDEO.REVERSErf reset_file rf String RESET.FILErfi req_for_input RF String REQ.FOR.INPUTri scroll_reverse sr String SCROLL.DOWNrin parm_rindex SR Prm. String SCROLL.DOWN.PARMrmacs exit_alt_charset_mode ae String LINEDRAW.ENDrmam exit_am_mode RA String EXIT.AM.MODErmblk end_block_mode String BLOCK.MODE.ENDrmclk klick_off String KEYCLICK.OFFrmcup exit_ca_mode te String EXIT.CA.MODErmdc exit_delete_mode ed String EXIT.DELETE.MODErmir exit_insert_mode ei String INSERT.MODE.ENDrmkx keypad_local ke String KEYPAD.LOCALrmlck exit_keyboard_lock String KEYBOARD.LOCK.OFFrmln label_off LF String LABEL.OFFrmm meta_off mo String META.OFFrmmon exit_monitor_mode String MONITOR.MODE.OFFrmp char_padding rP String CHAR.PADDINGrmpro exit_screen_protect String SCREEN.PROTECT.ENDrmscr end_scroll_mode String SCROLL.MODE.ENDrmso exit_standout_mode se String EXIT.STANDOUT.MODErmul exit_underline_mode ue String EXIT.UNDERLINE.MODErmwp exit_write_protect String WRITE.PROTECT.ENDrmxon exit_xon_mode RX String EXIT.XON.MODErs1 reset_1string r1 String RESET.1STRINGrs2 reset_2string r2 String RESET.2STRINGrs3 reset_3string r3 String RESET.3STRINGsc save_cursor sc String CURSOR.SAVEseom store_eom String STORE.END.OF.MESSAGEsgr set_attributes sa Prm. String SET.ATTRIBUTESsgr0 exit_attribute_mode me String EXIT.ATTRIBUTE.MODEsmacs enter_alt_charset_mode as String LINEDRAW.BEGINsmam enter_am_mode SA String ENTER.AM.MODEsmblk begin_block_mode String BLOCK.MODE.BEGINsmclk klick_on String KEYCLICK.ONsmcup enter_ca_mode ti String ENTER.CA.MODEsmdc enter_delete_mode dm String ENTER.DELETE.MODEsmgl set_left_margin ML String SET.LEFT.MARGINsmgr set_right_margin MR String SET.RIGHT.MARGIN

Page 300: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix C: terminfo terminal capabilities

300

terminfosource

terminfo usage termcap Type UniVerse

smir enter_insert_mode im String INSERT.MODE.BEGINsmkx keypad_xmit ks String KEYPAD.XMITsmlck enter_keyboard_lock String KEYBOARD.LOCK.ONsmln label_on LO String LABEL.ONsmm meta_on mm String META.ONsmmon enter_monitor_mode String MONITOR.MODE.ONsmpro enter_screen_protect String SCREEN.PROTECT.BEGINsmscr begin_scroll_mode String SCROLL.MODE.BEGINsmso enter_standout_mode so String VIDEO.STANDOUTsmul enter_underline_mode us String VIDEO.UNDERLINEsmwp enter_write_protect String WRITE.PROTECT.BEGINsmxon enter_xon_mode SX String ENTER.XON.MODEsndla send_aline String SEND.LINE.ALLsndlu send_uline String SEND.LINE. UNPROTECTEDsndma send_amessage String SEND.MESSAGE.ALLsndmu send_umessage String SEND.MESSAGE. UNPROTECTEDsndpa send_apage String SEND.PAGE.ALLsndpu send_upage String SEND.PAGE. UNPROTECTEDssom store_som String STORE.START.OF.MESSAGEtbc clear_all_tabs ct String CLEAR.ALL.TAB.STOPStermf field_terminator String TERMINATE.FIELDterml line_terminator String TERMINATE.LINEtermp page_terminator String TERMINATE.PAGEtsl to_status_line ts String STATUS.LINE.BEGINuc underline_char uc String UNDERLINE.CHARul transparent_ underline ul Boolean TRANSPARENT. UNDERLINEvidof video_off String SCREEN.VIDEO.OFFvidon video_on String SCREEN.VIDEO.ONvpa row_address cv Prm. String MOVE.CURSOR.TO.ROWvt virtual_terminal Number VIRTUAL.TERMINALwind set_window wi Prm. String SET.WINDOWwsl width_status_line ws Number STATUS.LINE.WIDTHxenl eat_newline_glitch xn Boolean RIGHT.MARGIN.EATS. NEWLINExhp ceol_standout_glitch xs Boolean CEOL.STANDOUT.GLITCHxmc magic_cookie_glitch sg Number VIDEO.SPACESxoffc xoff_character XF String XOFF.CHARACTERxon xon_xoff xo Boolean XON.XOFFxonc xon_character XN String XON.CHARACTERxsb beehive_glitch xb Boolean BEEHIVE.GLITCHxt dest_tabs_magic_smso xt Boolean DEST.TABS.MAGIC.SMSO

Page 301: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

301

Appendix D: The wide zero parameter inUniVerse

UniVerse performs all arithmetic using double-precision floating-point numbers. Floating point is asystem for representing numbers in a computer. This appendix describes floating-point numbers andexplains why UniVerse has a user-configurable wide zero. Most of this discussion assumes the Instituteof Electrical and Electronics Engineers (IEEE) standard floating-point format, but the principle, if notthe actual arrangement of bits, applies to all machines.

Number systemsMost people use the decimal system for representing numbers. This system uses the numerals 0through 9 to represent the numbers 0 through 9, and uses a place value system to represent numberslarger or smaller. For example, the numeral 12 (in base 10) means 1 times 10 to the first power plus2 times 10 to the 0 power (any number to the 0 power equals 1) for a total of 12. The decimal pointallows negative powers of 10 to represent quantities less than 1. The numeral 1.2 means 1 times10 to the 0 power plus 2 times 10 to the minus one power (or one-tenth). Only numbers that canbe expressed in terms of sums of integers times powers of 10 can be exactly represented in a finitenumber of digits. The quantity one-third cannot be represented exactly in base 10 any more than youcan divide a dollar three ways without a penny left over.

Computers use the binary system for representing numbers. This system uses only two numerals,0 and 1. In the machine, these are represented by differing levels of electrical voltage. The numeral1012 means 1 times 2 to the second power (410) plus 0 times 2 to the first power plus 1 times 2 to the 0power, for a total of 5. Like base 10, base 2 can be used for quantities less than 1 if you introduce theconcept of the binary point. Thus 1^12 means 1 times 2 to the 0 power plus 1 times 2 to the minus onepower (or 1/2), for a total of 1 1/2. Only numbers that can be built out of sums of powers of 2 can berepresented exactly in binary notation.

People using base 10 have sometimes found the place value system inconvenient for representingvery large or very small numbers. Scientific notation is a scheme that uses a two-part numeral. Thefirst part, called the mantissa, is used to represent the significant digits, which are the nonzero digitsof the number. The second part of the numeral is the exponent, which represents the magnitude of thenumber. For example, in scientific notation you can write 2.3E10 to represent 23,000,000,000.00.

Floating-point numbersSimilarly, computers use a floating-point system, which keeps the absolute size of a number separatefrom the significant bits. (A bit is a Binary digIT.) In a floating- point numeral, 1 bit, called the sign bit,is usually reserved to indicate whether or not the number is greater than or less than 0. Some numberof bits are reserved for the exponent part of the numeral. This is the power of 2 to which the remainingbits (the mantissa) need to be raised to yield the actual value.

The IEEE has defined a format for double-precision floating-point numbers that is 64 bits long. Theleft-most bit is reserved as the sign bit. This bit is set (or true or 1) if the number being representedis negative; it is cleared (or 0) if the number is positive. The next 11 bits are used for the exponentof the number. This exponent is biased; that is, to determine its actual value you must subtract aconstant number from this number to obtain the actual value. This technique is used because therange of numbers representable by these bits is not the most desirable range. By adding a bias youcan move the range of numbers representable to the range you would like to represent. In the caseof IEEE floating-point, the constant is 102310. The rest of the bits are used to store the mantissa of

Page 302: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix D: The wide zero parameter in UniVerse

302

the number. Knowing that, you can examine the double-precision floating-point representation of adecimal number.

Consider the decimal number 49.75. 49 comprises a 32, a 16, and a 1. In binary that would be 1100012.The fractional part comprises one-half and one-fourth, so the whole number in binary would be110001^112. Since the mantissa is always stored as a fraction, you must move the binary point sixplaces to the left to make the significant bits of the number fractional. Storing the mantissa as afraction allows an arbitrary number of trailing zero trailing bits. The floating-point system providesfor an extra bit of precision by always shifting one place less than needed so that the high-order bit isalways 1 and therefore need not be stored. Shifting the binary point to the left five places instead of sixadds five to the exponent (already 10231010 from the bias) so the exponent value becomes 102810 or100000001002. The final floating-point number becomes:

0 (the sign bit)

10000000100 (the exponent, 102810)

1000111000000000000000000000000000000000000000000000 (the mantissa with first bitimplied)

or

0100000001001000111000000000000000000000000000000000000000000000

Obviously, working in binary can become tedious. Hexadecimal notation is a system that uses thenumerals 0 through 9 and the letters A through F to represent numbers from 0 through 15. In this waya single character can represent four bits. By separating the bits in the number above into groups offour and using hexadecimal notation, you can write that number as 4048E000000016.

In any base there will be some numbers that cannot be represented exactly. The 64-bit floating-pointnumbers UniVerse uses provide an enormous amount of precision, so that calculations involvingnumbers which must be approximated still give answers correct to many decimal places. There is,however, one problem that needs to be addressed: number comparison.

The UniVerse wide zero featureComputers compare numbers by subtracting one from the other and looking at the difference. If thereare any bits set in the difference, the numbers are not equal. Even though the internal representationof a number may be an approximation so close to exact that the error is never noticed by the user, thequestion of equality is always binary. That is, the numbers are equal or they are not. The computerdoes not have a concept of “close enough.”

But UniVerse does have a “close enough.” This is the wide zero feature. It insulates users from the tinyerrors introduced by representing numbers in a finite number of bits. When UniVerse compares twonumbers for equality, it looks at the difference between the numbers and decides if the difference islarge enough to consider the numbers not equal. The value that is used to determine whether or nota difference is large enough is called the wide zero. The default wide zero UniVerse uses allows verysmall differences between numbers to be considered nonzero, but it is not adjusted so finely that whatare essentially “noise” bits will affect results.

In the unlikely event that you need to adjust this value, the wide zero is configurable. That is, users canchange the value that UniVerse uses to decide when the difference between two numbers is so smallthat it should be considered 0.

When comparing two numbers, UniVerse examines the exponent of the difference between them.If the exponent of the difference indicates that the difference is a very small number, then UniVerseconcludes that the numbers are equal. As shipped, UniVerse assumes that any difference smallerthan 2.91E-1110 is equal to 0. This provides precision somewhat greater than the 10 decimal digitsadvertised by UniVerse BASIC programs. The default wide zero mask for IEEE-compliant machines is3dc0000016.

Page 303: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

The UniVerse wide zero feature

303

The following table lists the exponents of 1 times various powers of 10. Use this table as a guideto configure your wide zero value. Since the numbers are represented in binary, the exact pointwhere the numbers become equal to 0 is at power of two boundaries. For example, with a mask of0x3fb00000 all numbers from .062 to -.062 test equal to 0.

Note: If you change the value of this mask, test the behavior of the system thoroughly before usingit.

Power of ten Mask

0 0x3ff00000-1 0x3fb00000-2 0x3f800000-3 0x3f500000-4 0x3f100000-5 0x3ee00000-6 0x3eb00000-7 0x3e700000-8 0x3e400000-9 0x3e100000-10 0x3dd00000-11 0x3da00000-12 0x3d700000-13 0x3d300000-14 0x3d000000-15 0x3cd00000-16 0x3c900000

To adjust this value in your version of UniVerse, see Configurable UniVerse parameters, on page 29.The value in the configuration file is expressed in hexadecimal notation and represents the high-order,32 bits of the mask. The mask must be expressed in hexadecimal, and the initial 0x is required.

Warning: If your default mask differs from that shown previously, your machine is not IEEE-compliant. Extra care must be taken in these cases. In any event, changing this value can havea serious impact on your system. We do not advise you to change the default values withoutconsulting Rocket Software Customer Support.

Page 304: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

304

Appendix E: Fault numbers and error codesFatal errors in UniVerse often cause the terminal to display messages containing numeric error codes.The meaning of these codes is explained in this appendix.

The following table lists the fault numbers associated with the message:

Abnormal termination of UniVerse.Fault type is %d. Layer type is %s.

This message indicates a bug in UniVerse and should be reported to Rocket Software CustomerSupport exactly as it appears, along with the process that caused the error. The fault type (%d ) is thesame as those generated by the UNIX signal(3C) facility. The layer type (%s) is important only to theRocket Software engineer who is to fix the bug.

The starred signals cause a core image to be saved.

signal value Description

1 (SIGHUP) hangup2 (SIGINT) interrupt3* (SIGQUIT) quit4* (SIGILL) illegal instruction5* (SIGTRAP) trace trap6* (SIGIOT) IOT instruction7* (SIGEMT) EMT instruction8* (SIGFPE) floating-point exception9 (SIGKILL) kill (cannot be caught or ignored)10* (SIGBUS) bus error11* (SIGSEGV) segmentation violation12* (SIGSYS) bad argument to system call13 (SIGPIPE) write on a pipe with no one to read it14 (SIGALRM) alarm clock15 (SIGTERM) software termination signal16 (SIGURG) urgent condition present on socket17 (SIGSTOP) stop (cannot be caught or ignored)18 (SIGTSTP) stop signal generated from keyboard19 (SIGCONT) continue after stop20 (SIGCHLD) child status has changed21 (SIGTTIN) background read attempted from control terminal22 (SIGTTOU) background write attempted to control terminal23 (SIGIO) I/O is possible on a descriptor24 (SIGXCPU) CPU time limit exceeded25 (SIGXFSZ) file size limit exceeded26 (SIGVTALRM) virtual time alarm27 (SIGPROF) profiling timer alarm

Page 305: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Fatal error codes

305

Fatal error codesSome fatal errors in UniVerse are reported in a message such as the following:

A fatal error has occurred in UniVerse%e

The error number (%e) is the same as those generated by the UNIX system calls described in intro(2). Alist of these errors follows:

▪ (EPERM) Not owner. Typically this error indicates an attempt to modify a file in some wayforbidden except to its owner or to a UniVerse Administrator. It is also returned when ordinaryusers try to do things allowed only to UniVerse Administrators. Use the ls -l command to checkfile permissions.

▪ (ENOENT) No such file or directory. This error occurs when a file name is specified and the fileshould exist but doesn’t, or when one of the directories in a path name does not exist. Make surethe file name or path name is valid and that it is correctly typed.

▪ (ESRCH) No such process. The process whose number was given to kill and ptrace does not existor is already dead. Use the ps -ae command to check the numbers of all current processes.

▪ (EINTR) Interrupted system call. An asynchronous signal (such as interrupt or quit), which theuser has elected to catch, occurred during a system call. If execution is resumed after processingthe signal, it appears as if the interrupted system call returned this error condition.

▪ (EIO) I/O error. Some physical I/O error occurred during a read or write. This error may in somecases occur on a call following the one to which it actually applies.

▪ (ENXIO) No such device or address. I/O on a special file refers to a subdevice which does not existor is beyond the limits of the device. It may also occur when, for example, an illegal tape drive unitnumber is selected or a disk pack is not loaded on a drive.

▪ (E2BIG) Argument list too long. An argument list longer than the maximum allowed by yoursystem is presented to execve.

▪ (ENOEXEC) Execute format error. A request is made to execute a file which, although it has theappropriate permissions, does not start with a valid magic number.

▪ (EBADF) Bad file number. Either a file descriptor refers to no open file, or a read (resp. write)request is made to a file which is open only for writing (resp. reading).

▪ (ECHILD) No children. Wait, and the process has no living or unwaited-for children.

▪ (EAGAIN) No more processes. In a fork, the system’s process table is full, or the user is not allowedto create any more processes. This parameter may be tunable.

▪ (ENOMEM) Not enough core. During an execve or break, a program asks for more core or swapspace than the system is able to supply. A lack of swap space is normally a temporary condition,but a lack of core is not a temporary condition. The maximum size of the text, data, and stacksegments is a system parameter and may be tunable.

▪ (EACCES) Permission denied. An attempt was made to access a file in a way forbidden by theprotection system.

▪ (EFAULT) Bad address. The system encountered a hardware fault in trying to access thearguments of a system call.

▪ (ENOTBLK) Block device required. A plain file was mentioned where a ck device was required.

▪ (EBUSY) Mount device busy. An attempt was made to mount a device that was already mountedor to dismount a device on which there is an active file directory (open file, current directory, homedirectory, mounted-on file, active text segment).

▪ (EEXIST) File exists. An existing file was mentioned in an inappropriate context, such as a link.

Page 306: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix E: Fault numbers and error codes

306

▪ (EXDEV) Cross-device link. A hard link to a file on another file system was attempted.

▪ (ENODEV) No such device. An attempt was made to apply an inappropriate system call to adevice, for example, to read a writeonly device.

▪ (ENOTDIR) Not a directory. A nondirectory was specified where a directory is required, forexample, in a path or as an argument to chdir.

▪ (EISDIR) Is a directory. An attempt was made to write on a directory.

▪ (EINVAL) Invalid argument. Here are some examples of invalid arguments: dismounting anonmounted device, mentioning an unknown signal in signal, reading or writing a file for whichseek has generated a negative pointer. EINVAL is also set by math functions.

▪ (ENFILE) File table overflow. The system’s table of open files is full, and temporarily no moreopens can be accepted.

▪ (EMFILE) Too many open files. Customary configuration limit is 62 per process. This parametermay be tunable.

▪ (ENOTTY) Not a typewriter. The file mentioned in an ioctl is not a terminal or one of the otherdevices to which these calls apply.

▪ (ETXTBSY) Text file busy. An attempt was made to execute a pureprocedure program that iscurrently open for writing (or reading), or to open for writing a pure-procedure program that isbeing executed.

▪ (EFBIG) File too large. The size of a file exceeded the maximum (about 1.0e9 bytes).

▪ (ENOSPC) No space left on device. During a write to an ordinary file, there is no free space left onthe device.

▪ (ESPIPE) Illegal seek. An lseek was issued to a pipe. This error may also be issued for othernonseekable devices.

▪ (EROFS) Read-only file system. An attempt to modify a file or directory was made on a devicemounted read-only.

▪ (EMLINK) Too many links. An attempt to make more hard links to a file than are allowed by yoursystem.

▪ (EPIPE) Broken pipe. A write on a pipe or socket for which there is no process to read the data.This condition normally generates a signal. The error is returned if the signal is ignored.

▪ (EDOM) Math argument. The argument of a function in the math(3M) package is out of the domainof the function.

▪ (ERANGE) Result too large. The value of a function in the math(3M) package is unrepresentablewithin machine precision.

▪ (EWOULDBLOCK) Operation would block. An operation that would cause a process to block wasattempted on an object in nonblocking mode.

▪ (EINPROGRESS) Operation now in progress. An operation that takes a long time to complete wasattempted on a nonblocking object.

▪ (EALREADY) Operation already in progress. An operation was attempted on a nonblockingobject that already had an operation in progress.

▪ (ENOTSOCK) Socket operation on non-socket.

▪ (EDESTADDRREQ) Destination address required. A required address was omitted from anoperation on a socket.

▪ (EMSGSIZE) Message too long. A message sent on a socket was larger than the internal messagebuffer.

Page 307: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Fatal error codes

307

▪ (EPROTOTYPE) Protocol wrong type for socket. A protocol was specified that does not supportthe semantics of the socket type requested. For example, you can’t use the ARPA Internet UDPprotocol with type SOCK_STREAM.

▪ (ENOPROTOOPT) Bad protocol option. A bad option was specified in a getsockopt(2) orsetsockopt(2) call.

▪ (EPROTONOSUPPORT) Protocol not supported. The protocol has not been configured into thesystem, or no implementation for it exists.

▪ (ESOCKTNOSUPPORT) Socket type not supported. The support for the socket type has not beenconfigured into the system, or no implementation for it exists.

▪ (EOPNOTSUPP) Operation not supported on socket. Such an operation might be an attempt toaccept a connection on a datagram socket.

▪ (EPFNOSUPPORT) Protocol family not supported. The protocol family has not been configuredinto the system, or no implementation for it exists.

▪ (EAFNOSUPPORT) Address family not supported by protocol family. An address incompatiblewith the requested protocol was used. For example, you shouldn’t necessarily expect to be able touse PUP Internet addresses with ARPA Internet protocols.

▪ (EADDRINUSE) Address already in use. Only one use of each address is normally permitted.

▪ (EADDRNOTAVAIL) Can’t assign requested address. This normally results from an attempt tocreate a socket with an address not on this machine.

▪ (ENETDOWN) Network is down. A socket operation encountered a dead network.

▪ (ENETUNREACH) Network is unreachable. A socket operation was attempted to an unreachablenetwork.

▪ (ENETRESET) Network dropped connection on reset. The host you were connected to crashedand rebooted.

▪ (ECONNABORTED) Software caused connection abort. A connection abort was caused internalto your host machine.

▪ (ECONNRESET) Connection reset by peer. A connection was forcibly closed by a peer. Thisnormally results from the peer executing a shutdown(2) call.

▪ (ENOBUFS) No buffer space available. An operation on a socket or pipe was not performedbecause the system lacked sufficient buffer space.

▪ (EISCONN) Socket is already connected. A connect request was made on an already connectedsocket, or a sendto or sendmsg request on a connected socket specified a destination other thanthe connected party.

▪ (ENOTCONN) Socket is not connected. A request to send or receive data was disallowed becausethe socket is not connected.

▪ (ESHUTDOWN) Can’t send after socket shutdown. A request to send data was disallowedbecause the socket had already been shut down with a previous shutdown(2) call.

▪ Unused.

▪ (ETIMEDOUT) Connection timed out. A connect request failed because the connected partydid not properly respond after a period of time. (The timeout period is dependent on thecommunication protocol.)

▪ (ECONNREFUSED) Connection refused. No connection could be made because the targetmachine actively refused it. This usually results from trying to connect to a service that is inactiveon the foreign host.

▪ (ELOOP) Too many levels of symbolic links. A path lookup involved more than eight symboliclinks.

Page 308: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix E: Fault numbers and error codes

308

▪ (ENAMETOOLONG) File name too long. A component of a path exceeded 247 characters, or anentire path exceeded 1023 characters.

▪ (ENOTEMPTY) Directory not empty. A directory with entries other than “.” and “..” was suppliedto a remove directory or rename call. Use either the mv command to move, or the rm command toremove, all remaining files from the directory, then try to remove or rename the directory.

Initialization errorsThe following error message is sometimes displayed during execution of uv -admin or during theinitialization phase of UniVerse:

An error has occurred during UniVerse initializationPlease contact the system administratorError code: %i%e

%e is one of the codes listed in Fatal error codes, on page 305. %i is one of the following:

Message Description

Unable to create a signature. The getid system call failed.

uv -admin was unable to create theDisk Shared Memory Segment.

Check the maximum allowable shared memorysegment size in the UNIX kernel configurationto see if it is set to the minimum specified in theUniVerse release notes.

uv -admin was unable to create thefile lock semaphore.

System V semaphores are probablynot configured in the kernel.

uv -admin was unable to attach tothe Disk Shared Memory Segment.

Use the ipcs command to see if the Disk SharedMemory Segment (the one with an ID of the form0xacecrrrr) exists.

Attempt to initialize UniVerseafter expiration date.

Check the expiration date of your license. Youmay need to order an extension of the license.

uv -admin was unable to map theALM file (Sequent DYNIX only).

uv -admin was unable to open the ALM file(Sequent DYNIX only).

uv -admin was unable to set closeon exec for the ALM file (SequentDYNIX only).

A problem has been found whenattempting to access UVTEMP orUVSPOOL.

Page 309: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

309

Appendix F: Configuring SSL for Telnet (UNIXonly)

There are two tasks for setting up a secured Telnet service for UniVerse. The first task is to set upthe UniVerse Telnet service for the operating system to recognize. The second task is to set up SSLproperties for the UniVerse Telnet service to establish secured connections. SSL properties are storedin a UniVerse Security Context Record (SCR). See the Security Features Guide for information.

To enable SSL for UniVerse Telnet service on a Windows Server, use XAdmin. See Managing WindowsTelnet sessions (Windows only), on page 204.

To enable SSL for UniVerse Telnet server on a UNIX or Linux server, you need to edit several files on thedatabase server.

Setting up a UniVerse telnet service for the operatingsystem to recognize

You need to edit two system files, the services and inetd.conf files. Both of these files residein the /etc directory on the UNIX server. Use vi or another suitable text editor to make the followingchanges.

Note: Your server may have different configuration requirements in order to set up a new telnetservice on the system. For example, for some Linux or newer versions of Solaris servers, see thespecific sections in this manual for platform-specific instructions.

1. Add the following line in the /etc/services file:

uvtelnets 992/tcp

where uvtelnets is the service name. This can be any name of your choosing. 992 is the standardport number used for secure telnet servers. tcp is the protocol name for the service. You can useany unused port number for this purpose.

2. Add the following line in the /etc/inetd.conf file:

uvtelnets stream tcp nowait root UVBIN_PATH/uvtelnetd uvtelnetd [-dN] [-o dir]

where telnets is the telnet service name you specified in the /etc/services and UVBIN_PATHis the path to the UniVerse bin directory. uvtelnetd is the UniVerse secured telnet server and ittakes the following options:▪ -dN: Enables debug logging, where N is the debugging level. The debugging level can be 0-3. A

setting of 3 is the highest level of debugging and 0 means UniVerse will not record debuggingmessages. The debugging message is written to the TMP_DIR/uvtelnet -pid log, whereTMP_DIR is a temporary directory and pid is the process ID of uvtelnetd invoked by inetd.

▪ -o dir: Specifies the path to the temporary directory. The default setting is /tmp.

After you make these changes, you must refresh the system’s inetd service for the change totake effect. Different systems have different ways to have the inetd refreshed. Ask your systemadministrator for details.

Page 310: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Appendix F: Configuring SSL for Telnet (UNIX only)

310

Setting up SSL properties for a UniVerse telnet serviceYou can set up the SSL properties for the UniVerse telnet service using XAdmin (for more aboutmanaging SSL properties, see the Rocket DBTools User Guide). If you want to set up the propertiesmanually, edit the .unisecurity file in the unishared directory.

You can determine the location of the unishared directory by running the following command:

cat /.unishared

Add the following line to the .unisecurity file:

uvtelnetd UV-account SCR-id SCR-password

where UV-account is the path to the UniVerse directory that contains the SCR database file. The SCR-id is the @ID of the SCR you want the UniVerse telnet service to us for the SSL connections. The SCR-password is the password to access the SCR you specify. If the password contains spaces, you mustenclose the password in quotation marks, as shown in the following example:

uvtelnetd /disk1/uv telnetSCR "A contrived pa$w0rd"

Setting up the telnet service on Linux platformsTo set up the telnet service on Linux platforms, add the uvtelnets line to the services file.

This is described in Setting up a UniVerse telnet service for the operating system to recognize, on page309. However, there is no inetd.conf file on Linux systems, so you need to create a file nameduvtelnets in the /etc/xinetd.d directory. This file contains the following information:

# default: on# description: The UniVerse secured telnet server serves telnet sessionsservice uvtelnets{ flags = REUSE socket_type = stream wa user = root it = no server = /disk2/uv111/bin/uvtelnetd server_args = -d3 -o /tmp log_on_failure += USERID disable = no}

In the server property, enter the correct path for the UniVerse uvtelnetd on the server. In theserver_args property, add the -dN and/or -o dir options for debugging purposes only.

Note: Your system may need system-specific changes. Ask your system administrator forassistance.

Setting up the telnet service on Solaris platformsTo set up the telnet service on Solaris platforms, add the uvtelnets line to the services file.

Page 311: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

Setting up the telnet service on Solaris platforms

311

This is described in Setting up a UniVerse telnet service for the operating system to recognize, onpage 309. In addition, you must add a uvtelnets line to the inetd.conf file similar to the followingexample:

uvtelnets stream tcp wait root /disk2/uv/uvtelnetduvtelnetd -d3 -o /tmp

Add the -dN or -o dir options only if you want to debug the UniVerse telnet service. Finally, ask yoursystem administrator to run the inetconv system utility to finish the set up.

Page 312: June 2019 Rocket UniVerse UNV-1211-ADMIN-2 · Rocket UniVerse Administering UniVerse on Windows and UNIX Platforms Version 12.1.1 June 2019 UNV-1211-ADMIN-2

312

Appendix G: SB+ 6.5.0 USERNO compatibilitySB/XA and SB+ versions prior to 6.5.0 require added functionality to perform @USERNO commands.

USERNO_COMPATIBLE_STYLESB/XA and SB+ versions prior to 6.5.0 require additional functionality to support the usernumber assignment functionality existing prior to UniVerse 11.3.1. The uvconfig parameterUSERNO_COMPATIBLE_STYLE allows for user number related commands to behave in a mannercompatible with older versions of SB.

If USERNO_COMPATIBLE_STYLE is set to non-zero in uvconfig, multiple commands will displayinformation compatible with releases prior to 11.3.1.

Affected commands▪ smat -t does not show USERNO_COMPATIBLE_STYLE unless it is set to non-zero.

▪ smat --userno will always show the current USERNO_COMPATIBLE_STYLE setting.

▪ PORT.STATUS shows ACEBxxxx as "Printer Segment" for non-interactive sessions whenUSERNO_COMPATIBLE_STYLE is set to non-zero, as shown below:

There are currently 2 uniVerse sessions; 1 interactive, 1 phantom

Pid.... User name. Who. Port name..... Last command processed......... 61772 sxia 2 /dev/pts/10 PHANTOM RUN BP TLOCK Pid.... User name. Printer Segment Last command processed.............. 61774 sxia 0xACEBFFFD RUN BP TLOCK [ TLOCK @ 0x2C ]

▪ LIST.READU will display record lock output in the same format as in UniVerse 11.3.1 and earlier.

Active Record Locks:Device.... Inode.... Netnode Userno Lmode Pid Login Id Item-ID.............2058 1175056 0 19001 6404 RU 30199 root TIME

▪ UNLOCK now accepts ACEBxxxx as its input for a user number, for example:

UNLOCK USER ACEBFFFD

▪ MASTER now accepts ACEBxxxx as its input, for example:

MASTER OFF ACEBFFFD

▪ tandem/tandem_bg will accept ACEBxxxx as its input.

▪ USERINFO() accepts ACEBxxxx values in decimal format, for example:

USERINFO(2, 2901147645, usrinfo)