You are on page 1of 200

Rocket UniData

Installing and Licensing UniData 8.1 Products


Version 8.1.0

February 2015
UDT-810-INST-1
Notices
Edition
Publication date: February 2015
Book number: UDT-810-INST-1
Product version: Version 8.1.0

Copyright
© Rocket Software, Inc. or its affiliates 1996-2015. All Rights Reserved.

Trademarks
Rocket is a registered trademark of Rocket Software, Inc. For a list of Rocket registered trademarks go
to: www.rocketsoftware.com/about/legal. All other products or services mentioned in this document
may 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 of
individuals, companies, brands, and products. All of these names are fictitious and any similarity to
the 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 with
the terms of such license.

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

2
Corporate information
Rocket Software, Inc. develops enterprise infrastructure products in four key areas: storage, networks,
and compliance; database servers and tools; business information and analytics; and application
development, integration, and modernization.
Website: www.rocketsoftware.com
Rocket Global Headquarters
77 4th Avenue, Suite 100
Waltham, MA 02451-1468
USA
To contact Rocket Software by telephone for any reason, including obtaining pre-sales information
and technical support, use one of the following telephone numbers.

Country Toll-free telephone number


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

Contacting Technical Support


The Rocket Customer Portal is the primary method of obtaining support. If you have current
support and maintenance agreements with Rocket Software, you can access the Rocket Customer
Portal and report a problem, download an update, or find answers to in the U2 Knowledgebase.
To log in to the Rocket Customer Portal or to request a Rocket Customer Portal account, go to
www.rocketsoftware.com/support.
In addition to using the Rocket Customer Portal to obtain support, you can send an email to
u2support@rocketsoftware.com or use one of the following telephone numbers.

Country Telephone number


North America +1 800 729 3553
United Kingdom/France +44 (0) 800 773 771 or +44 (0) 20 8867 3691
Europe/Africa +44 (0) 20 8867 3692
Australia +1 800 707 703 or +61 (0) 29412 5450
New Zealand +0800 505 515

3
Contents
Notices................................................................................................................................................................................... 2
Corporate information......................................................................................................................................................... 3
Chapter 1: Introduction......................................................................................................................................................11
Chapter 2: Introduction to installing the UniData RDBMS.............................................................................................. 12
Determining the installation type on UniData for UNIX...................................................................................... 12
Basic installation........................................................................................................................................ 12
Advanced installation.................................................................................................................................12
Concurrent installation.............................................................................................................................. 12
Upgrade installation...................................................................................................................................13
Patch installation........................................................................................................................................13
Determining the installation type on UniData for Windows platforms...............................................................13
No previous UniData installation.............................................................................................................. 13
Preinstallation tasks on UniData for UNIX............................................................................................................13
Verify operator knowledge.........................................................................................................................14
Assemble materials.................................................................................................................................... 14
Check system requirements...................................................................................................................... 14
Operating system requirements....................................................................................................14
Product configuration.................................................................................................................... 15
Disk space....................................................................................................................................... 15
Memory............................................................................................................................................16
Create and verify all needed backups...................................................................................................... 16
Downloading UniData................................................................................................................................ 17
Preinstallation tasks on UniData for Windows platforms....................................................................................17
Verify hardware and software compatibility............................................................................................ 17
Assemble required materials..................................................................................................................... 17
Understanding the UniData directories................................................................................................................ 18
Directory structure on UniData for UNIX.................................................................................................. 18
Directory structure on UniData for Windows platforms.......................................................................... 19
Determining the location of log files for RFS on UniData for UNIX..................................................................... 19
Uninstalling UniData.............................................................................................................................................. 20
Chapter 3: UniData RDBMS basic installation.................................................................................................................. 21
Step-by-Step Installation on UniData for UNIX.................................................................................................... 21
1. Check or create your bin directory....................................................................................................... 21
2. Download the UniData zip file...............................................................................................................21
3. Enter ./udtinstall..................................................................................................................................... 22
International installation............................................................................................................... 22
Choosing a LANG setting................................................................................................................22
NonInternational installation........................................................................................................ 23
4. Enter the UDTHOME directory............................................................................................................... 23
5. Enter the udtwork directory.................................................................................................................. 23
6. Enter the udtlib directory...................................................................................................................... 23
7. Enter the location of the log files..........................................................................................................24
8. Enter the location of the unishared directory...................................................................................... 24
9. Enter a group name............................................................................................................................... 24
10. Enter the serial number....................................................................................................................... 24
11. Install the recoverable file system...................................................................................................... 24
12. Install replication..................................................................................................................................25
13. Back up existing directories.................................................................................................................25
14. Decide when to authorize UniData..................................................................................................... 25
15. Review input data................................................................................................................................ 25

4
Contents

16. Proceed with the installation process................................................................................................ 26


17. Authorize UniData................................................................................................................................ 27
18. Choose to release disk space.............................................................................................................. 27
19. Installation complete........................................................................................................................... 28
20. Check install.log................................................................................................................................... 28
21. Set environment variables...................................................................................................................28
22. Run makeudt........................................................................................................................................ 29
23. Start UniData........................................................................................................................................ 29
Installing using the install.param file on UniData for UNIX.................................................................................30
Troubleshooting tips.............................................................................................................................................. 31
Step-by-Step Installation on UniData for Windows Platforms............................................................................ 33
1. Log on as an administrator................................................................................................................... 33
2. Stop current installed services.............................................................................................................. 33
3. Download the zip file............................................................................................................................. 33
4. Execute the installation......................................................................................................................... 33
5. Accept license agreement......................................................................................................................34
6. Enter customer information.................................................................................................................. 35
7. Choose destination location for UniData............................................................................................. 36
8. Choose components and directory....................................................................................................... 37
9. Choose program folder name................................................................................................................38
10. Copy files...............................................................................................................................................38
11. Complete the installation.................................................................................................................... 39
12. Restart your computer......................................................................................................................... 40
13. Start a UniData session........................................................................................................................41
14. Set library path environment variable................................................................................................41
Chapter 4: UniData RDBMS advanced installation...........................................................................................................42
Step-by-step installation on UniData for UNIX.....................................................................................................42
1. Check or create your bin directory....................................................................................................... 42
2. Download the zip file............................................................................................................................. 43
3. Enter ./udtinstall..................................................................................................................................... 43
International installation............................................................................................................... 43
Choosing a LANG setting................................................................................................................43
NonInternational installation........................................................................................................ 44
4. Enter the UDTHOME Directory...............................................................................................................44
5. Enter the udtwork directory.................................................................................................................. 45
6. Enter the udtlib directory...................................................................................................................... 45
7. Enter the location of the log files..........................................................................................................45
8. Enter the location of the unishared directory...................................................................................... 45
9. Enter a group name............................................................................................................................... 45
10. Enter the serial number....................................................................................................................... 46
11. Install the recoverable file system...................................................................................................... 46
12. Install replication..................................................................................................................................46
13. Back up existing directories.................................................................................................................46
14. Decide when to authorize UniData..................................................................................................... 46
15. Review input data................................................................................................................................ 47
16. Proceed with the installation process................................................................................................ 47
17. Authorize UniData................................................................................................................................ 48
18. Choose to release disk space.............................................................................................................. 48
19. Installation complete........................................................................................................................... 49
20. Check install.log................................................................................................................................... 49
21. Set environment variables...................................................................................................................49
22. Run makeudt........................................................................................................................................ 50
23. Start UniData........................................................................................................................................ 50
Installing using the install.param file....................................................................................................................51
Troubleshooting tips.............................................................................................................................................. 51
Step-by-step advanced installation on UniData for Windows platforms........................................................... 53

5
Contents

1. Log on as an administrator................................................................................................................... 53
2. Stop current installed services.............................................................................................................. 53
3. Download the zip file............................................................................................................................. 53
4. Execute the installation......................................................................................................................... 53
5. Accept license agreement......................................................................................................................55
6. Choose components and directory....................................................................................................... 56
7. Choose destination location for UniData............................................................................................. 57
8. Choose program folder name................................................................................................................58
9. Enter Licensing Details...........................................................................................................................59
10. Copy files...............................................................................................................................................60
11. License UniData.................................................................................................................................... 61
12. Authorize UniData................................................................................................................................ 62
13. Complete the installation.................................................................................................................... 63
14. Restart your computer......................................................................................................................... 64
15. Set library path environment variable................................................................................................64
16. Start a UniData session........................................................................................................................64
Chapter 5: UniData RDBMS concurrent installation........................................................................................................ 65
Considerations for concurrent installations......................................................................................................... 65
Static hashed file considerations.............................................................................................................. 65
Dynamic file considerations.......................................................................................................................65
Recoverable file considerations................................................................................................................ 65
Telnet, SSL, and UniRPC considerations.................................................................................................. 66
Step-by-step installation on UniData for UNIX.....................................................................................................66
1. Check or create your bin directory....................................................................................................... 66
2. Download the UniData zip file...............................................................................................................67
3. Enter ./udtinstall..................................................................................................................................... 67
International installation............................................................................................................... 67
Choosing a LANG setting................................................................................................................67
NonInternational installation........................................................................................................ 68
4. Enter the UDTHOME directory............................................................................................................... 68
5. Enter the udtwork directory.................................................................................................................. 69
6. Enter the udtlib directory...................................................................................................................... 69
7. Enter the location of the log files..........................................................................................................69
8. Enter the location of the unishared directory...................................................................................... 69
9. Enter a group name............................................................................................................................... 69
10. Enter the serial number....................................................................................................................... 70
11. Install the recoverable file system...................................................................................................... 70
12. Install replication..................................................................................................................................70
13. Back up existing directories.................................................................................................................70
14. Decide when to authorize UniData..................................................................................................... 70
15. Review input data................................................................................................................................ 71
16. Proceed with the installation process................................................................................................ 71
17. Authorize UniData................................................................................................................................ 72
18. Choose to release disk space.............................................................................................................. 72
19. Installation complete........................................................................................................................... 73
20. Check install.log................................................................................................................................... 73
21. Set environment variables...................................................................................................................73
22. Run makeudt........................................................................................................................................ 74
23. Start UniData........................................................................................................................................ 74
24. Move globally cataloged programs..................................................................................................... 75
Installing using the install.param file....................................................................................................................75
Troubleshooting tips.............................................................................................................................................. 77
Step-by-step installation on UniData for Windows platforms.............................................................................78
1. Log on as an administrator................................................................................................................... 78
2. Stop current installed services.............................................................................................................. 78
3. Download the UniData zip file...............................................................................................................78

6
Contents

4. Execute the installation......................................................................................................................... 78


5. Accept license agreement......................................................................................................................79
6. Choose destination location for UniData............................................................................................. 79
7. Choose components and directory....................................................................................................... 79
8. Choose program folder name................................................................................................................79
9. Copy files.................................................................................................................................................80
10. Complete the installation.................................................................................................................... 80
11. Restart your computer......................................................................................................................... 80
12. Set library path environment variable................................................................................................80
13. Start a UniData session........................................................................................................................80
Chapter 6: UniData RDBMS upgrade installation.............................................................................................................81
Step-by-step installation on UniData for UNIX.....................................................................................................81
1. Save your make files.............................................................................................................................. 81
2. Check environment variables................................................................................................................ 82
3. Change directories..................................................................................................................................83
4. Check for existing users......................................................................................................................... 83
5. Stop UniData...........................................................................................................................................83
6. Download the UniData zip file...............................................................................................................83
7. Enter ./updatesys.................................................................................................................................... 84
International upgrade.................................................................................................................... 84
Choosing a LANG setting................................................................................................................84
NonInternational upgrade............................................................................................................. 85
8. Enter the udtwork directory.................................................................................................................. 85
9. Enter the udtlib directory...................................................................................................................... 85
10. Enter the location of the log files........................................................................................................85
11. Enter the location of the unishared directory.................................................................................... 86
12. Enter a group name............................................................................................................................. 86
13. Enter the serial number....................................................................................................................... 86
14. Install the recoverable file system...................................................................................................... 86
15. Install replication..................................................................................................................................86
16. Back up existing directories.................................................................................................................87
17. Decide when to authorize UniData..................................................................................................... 87
18. Enter old version number of UniData................................................................................................. 87
19. Review input data................................................................................................................................ 87
20. Proceed with the installation process................................................................................................ 88
21. Authorize UniData................................................................................................................................ 88
22. Choose to release disk space.............................................................................................................. 89
23. Installation complete........................................................................................................................... 89
24. Check environment variables.............................................................................................................. 90
25. Run makeudt........................................................................................................................................ 90
26. Start UniData........................................................................................................................................ 90
27. Run updatevoc......................................................................................................................................91
Updating multiple UDTHOME accounts on UniData for UNIX............................................................................. 91
1. Set UDTHOME Environment Variable....................................................................................................91
2. Change Directories................................................................................................................................. 92
3. Begin Upgrade Process.......................................................................................................................... 92
Installing using the install.param file....................................................................................................................92
Troubleshooting tips.............................................................................................................................................. 94
Step-by-step installation on UniData for Windows platforms.............................................................................95
1. Review current configuration................................................................................................................ 95
2. Log on as an administrator................................................................................................................... 95
3. Ask users to quit UniData...................................................................................................................... 95
4. Stop UniData with stopud (optional)....................................................................................................95
5. Stop current installed services.............................................................................................................. 95
6. Download the UniData zip file...............................................................................................................96
7. Upgrade UniData.................................................................................................................................... 96

7
Contents

8. Backup UniData...................................................................................................................................... 97
9. Choose program folder name................................................................................................................98
10. Copy files...............................................................................................................................................98
11. Complete the installation.................................................................................................................... 98
12. Update alternate global catalog spaces............................................................................................. 99
13. Set library path environment variable................................................................................................99
14. Start UniData with startud...................................................................................................................99
15. Start a UniData Session....................................................................................................................... 99
16. Restore using the backup functionality.............................................................................................. 99
Chapter 7: UniData RDBMS patch installation............................................................................................................... 101
Patch installation considerations........................................................................................................................101
Overwritten files........................................................................................................................................101
Updated files............................................................................................................................................. 102
Step-by-step installation......................................................................................................................................102
1. Save your make files............................................................................................................................ 102
2. Check environment variables.............................................................................................................. 103
3. Change directories................................................................................................................................104
4. Check for existing users....................................................................................................................... 104
5. Stop UniData.........................................................................................................................................104
6. Download the UniData zip file.............................................................................................................105
7. Enter ./updatesys.................................................................................................................................. 105
International installation............................................................................................................. 105
Choosing a LANG setting..............................................................................................................105
NonInternational installation...................................................................................................... 106
8. Enter the udtwork directory................................................................................................................ 106
9. Enter the udtlib directory.................................................................................................................... 106
10. Enter the location of the log files......................................................................................................107
11. Enter the location of the unishared directory.................................................................................. 107
12. Enter a group name........................................................................................................................... 107
13. Enter the serial number..................................................................................................................... 107
14. Install the recoverable file system.................................................................................................... 107
15. Install replication................................................................................................................................108
16. Back up existing directories...............................................................................................................108
17. Decide when to authorize UniData................................................................................................... 108
18. Back up work directory......................................................................................................................108
19. Enter old version number of UniData............................................................................................... 109
20. Review input data...............................................................................................................................109
21. Proceed with the installation process.............................................................................................. 109
22. Authorize UniData.............................................................................................................................. 109
23. Choose to release disk space............................................................................................................ 110
24. Installation complete......................................................................................................................... 110
25. Check environment variables............................................................................................................ 111
26. Run makeudt...................................................................................................................................... 111
27. Copy saved files.................................................................................................................................. 111
28. Run cntl_install...................................................................................................................................111
29. Start UniData...................................................................................................................................... 112
30. Run updatevoc....................................................................................................................................112
Installing using the install.param file..................................................................................................................113
Troubleshooting tips............................................................................................................................................ 114
Chapter 8: Licensing UniData products.......................................................................................................................... 116
About licensing..................................................................................................................................................... 116
Types of UniData licenses........................................................................................................................116
UniData device licensing..............................................................................................................116
Licensing UniData................................................................................................................................................. 116
Licensing procedure............................................................................................................................................. 117

8
Contents

Licensing steps on UniData for UNIX.................................................................................................................. 118


1. Change directories................................................................................................................................118
2. Run confprod........................................................................................................................................ 118
3. Match your product configuration sheet............................................................................................ 119
4. Save the changes..................................................................................................................................119
5. Generate the configuration code........................................................................................................ 120
6. Store the code...................................................................................................................................... 120
7. Obtain an authorization code............................................................................................................. 120
8. Enter the authorization code...............................................................................................................120
9. Exit licensing......................................................................................................................................... 120
10. Stop UniData.......................................................................................................................................120
11. Run udtconf........................................................................................................................................ 121
udtconf main display....................................................................................................................121
Update NUSERS for your environment....................................................................................... 122
Adjust other parameters.............................................................................................................. 122
Checking configuration parameters............................................................................................122
Saving configuration parameters................................................................................................ 123
Recalculating the size of the CTL................................................................................................ 123
Viewing current and suggested settings..................................................................................... 123
Exit udtconf................................................................................................................................... 123
udtconf and the Recoverable File System.................................................................................. 124
12. Verify logconfig file............................................................................................................................. 124
13. Run cntl_install, if necessary............................................................................................................. 124
14. Complete installation......................................................................................................................... 124
How UniData counts licenses.............................................................................................................................. 125
Licensing steps for UniData for Windows platforms..........................................................................................125
1. Start the U2 Extensible Administration Tool...................................................................................... 125
2. Verify configuration.............................................................................................................................. 126
3. Enter expiration date........................................................................................................................... 126
4. Update the configuration.....................................................................................................................126
5. Obtain configuration code...................................................................................................................126
Authorize UniData.........................................................................................................................126
Updating a UniData license................................................................................................................................. 127
Appendix A: Introduction to udtsetup............................................................................................................................ 128
Naming conventions.............................................................................................................................................128
Improvements....................................................................................................................................................... 128
Restrictions............................................................................................................................................................130
Examples............................................................................................................................................................... 131
Installing UniData................................................................................................................................................. 131
Step-by-step installation instructions.....................................................................................................131
Installation prompts – licensing questions.............................................................................................134
Installation prompts – post licensing questions.................................................................................... 136
Post installation tasks.............................................................................................................................. 140
Full example..............................................................................................................................................142
Upgrading UniData............................................................................................................................................... 146
Step-by-step upgrade of UniData for UNIX/Linux.................................................................................. 146
Backup questions..................................................................................................................................... 151
Permission questions............................................................................................................................... 152
Upgrade prompts – post backup and permissions questions...............................................................152
Post upgrade tasks................................................................................................................................... 157
Full example..............................................................................................................................................159
Concurrent Installation of UniData..................................................................................................................... 162
Step-by-step upgrade of UniData for UNIX/Linux.................................................................................. 163
Post installation tasks.............................................................................................................................. 171
Full example..............................................................................................................................................173
Additional information about udtsetup features............................................................................................... 175

9
Contents

Command line options.............................................................................................................................175


Improved logging and exit codes............................................................................................................ 177
QUIT/EXIT early.........................................................................................................................................178
Parameter file........................................................................................................................................... 178
Full parameter list.................................................................................................................................... 180
Prompted parameters.................................................................................................................. 180
Prompted parameters – authorization....................................................................................... 181
Prompted parameters – authorization – U2BC contact details.................................................182
CLO parameters only....................................................................................................................182
Prompted and command line options parameters....................................................................182
OS/platform media validation................................................................................................................. 182
Files in use validation...............................................................................................................................183
Tar file extraction options........................................................................................................................184
Determining installation type.................................................................................................................. 185
Web authorization.................................................................................................................................... 185
Web authorization error examples..........................................................................................................186
Version is not valid – Error 819....................................................................................................186
Version not found in your licenses records – Error 820............................................................. 186
Serial/license number is not valid...............................................................................................187
Backup and restore.................................................................................................................................. 187
List backups.................................................................................................................................. 188
Restore...........................................................................................................................................188
Remove backups...........................................................................................................................188
Backup/restore control file.......................................................................................................... 188
Check and fix permissions....................................................................................................................... 188
Configuration files........................................................................................................................ 189
URI (Uniform Resource Identifier) support............................................................................................. 190
Files supported via URI calls........................................................................................................190
Testing URI support......................................................................................................................191
URI command line options.......................................................................................................... 191
-uri url Command line option......................................................................................................191
-urif url/param or –uriuf url/param Command line option....................................................... 191
-urit uri/my.tar Command line option........................................................................................ 191
-kuri Command line option..........................................................................................................192
UDTURI environment variable..................................................................................................... 192
Additional notes concerning URI options................................................................................... 192
Example......................................................................................................................................... 192
Files starting with . (period/dot)..................................................................................................192
Custom configuration files/commands search path..............................................................................193
Custom configuration files.......................................................................................................................193
Nonsupported files....................................................................................................................... 194
Configuration files supported......................................................................................................194
Files that support dynamic values.............................................................................................. 194
Files copied with no dynamic value support..............................................................................196
Custom commands...................................................................................................................................197
Available parameters....................................................................................................................197
Custom command notes..............................................................................................................198
Timeout message..........................................................................................................................198
Example commands file...............................................................................................................199
UDTSETUP environment variable/LOGIN Paragraph............................................................................. 199
Frequently Asked Questions (FAQ).......................................................................................................... 200

10
Chapter 1: Introduction
This manual takes you through the steps of installing, licensing, and setting up your Rocket UniData
Release 8.1 products. These instructions consist of the following:
Links
▪ Introduction to installing the UniData RDBMS, on page 12
▪ UniData RDBMS basic installation, on page 21
▪ UniData RDBMS advanced installation, on page 42
▪ UniData RDBMS concurrent installation, on page 65
▪ UniData RDBMS upgrade installation, on page 81
▪ UniData RDBMS patch installation, on page 101
▪ Licensing UniData products, on page 116

11
Chapter 2: Introduction to installing the UniData
RDBMS
This chapter describes information that you should be aware of before installing the UniData RDBMS.

Determining the installation type on UniData for UNIX


Make one of the following choices about how you want to install UniData before proceeding:
▪ Basic installation, on page 12
▪ Advanced installation, on page 12
▪ Concurrent installation, on page 12
▪ Upgrade installation, on page 13
▪ Patch installation, on page 13

Basic installation
You are installing UniData for the first time on this machine, and you want to use the default
directories.
For step-by-step procedures, see UniData RDBMS basic installation, on page 21

Advanced installation
You are installing UniData for the first time on this machine, and you want to choose directories other
than the default directories.
Carefully review the section Understanding the UniData directories, on page 18 later in this chapter
for information about how directory names impact your configuration. For step-by-step procedures,
see UniData RDBMS advanced installation, on page 42.

Concurrent installation
You already have a previous version of UniData running on the machine where you are installing
UniData 8.1, and you want to run these two versions concurrently.
For step-by-step procedures, see UniData RDBMS concurrent installation, on page 65.
Users running different versions of UniData should not try to update the same files at the same time.
If you want to test your application by installing UniData 8.1 concurrently, set up a separate demo
database for your testing. Do not try to update live files with two versions of UniData at the same time.
There are some limitations for concurrent execution of UniData 8.1, which are described in UniData
RDBMS concurrent installation, on page 65.

12
Upgrade installation

Upgrade installation
You are upgrading to UniData 8.1 from a previous version of UniData.
For step-by-step procedures, see UniData RDBMS upgrade installation, on page 81.

Patch installation
You have a version of UniData 8.1 running on your system and are installing a patch version of UniData
8.1.
 For step-by-step procedures, see UniData RDBMS patch installation, on page 101.

Determining the installation type on UniData for


Windows platforms
The process for installing UniData for Windows Platforms depends on whether you have installed
earlier versions of UniData. Review the information below to determine which sequence of steps you
should complete. The procedures for new installation, upgrade installation, licensing, and uninstalling
are described in detail in the remaining sections of this manual.

No previous UniData installation


▪ Make certain your Windows system is upgraded to Windows XP or greater.
▪ Install UniData 8.1 on your system. See UniData RDBMS basic installation, on page 21 for more
information.

Preinstallation tasks on UniData for UNIX


For UniData installations, a number of tasks to complete and factors need to be considered before
installation.
Regardless of the type of installation you are performing, the basic preparatory steps are:
▪ Verify operator knowledge.
▪ Assemble materials.
▪ Verify system requirements.
▪ Download the UniData product.
▪ Understand the UniData directories, and determine their location for your installation.
▪ Determine the location of the log files for the Recoverable File System (RFS).

Note: UniData telnet services will not work if SELINUX is enabled. We recommend disabling
SELINUX if you are planning to use the UniData telnet services. Responses are blocked in non-
secure and secure modes if SELINUX is enabled. Use echo 0 >/selinux/enforce to disable
SELINUX temporarily to verify that UniData telnet services work correctly. To re-enable SELINUX
use echo 1 >/selinux/enforce.

13
Chapter 2: Introduction to installing the UniData RDBMS

Verify operator knowledge


Before you begin a UniData installation, make sure you know:
▪ How to log on as root.
▪ How to edit a UNIX text file.
▪ The link that is provided by UniData from which to download the product.
▪ The serial number or a descriptive name you want to use to identify your CPU.
▪ The type of shell with which you are working. (If you are not sure, try the UNIX echo
$SHELL command.)

Assemble materials
Make sure you have all needed materials on hand before you begin a UniData installation:
▪ The UniData zip file.
▪ The Product Configuration Sheet that is shipped with the UniData software.
▪ These instructions.

Check system requirements

Operating system requirements


Rocket Software ports UniData for UNIX products to many versions of UNIX. Verify that the product
you have received matches your UNIX operating system, and verify that the installation media is
appropriate for your system.
UniData requires that certain kernel parameters have adequate settings in order for UniData to
accommodate the full number of licensed users. The following table lists some recommended kernel
parameters.

Table 1: Kernel Parameters

Description HPUX Solaris Recommended Value


Semaphore semmnu semmnu 3 * (number of concurrent sessions*) + (number of
undo authorized users / 4)
structures
system wide Note: *For a Server edition it is the same as the
number of authorized users. For an Enterprise
or Workgroup edition or a Server edition with an
additional device-license option, this number is the
anticipated maximum number of concurrent sessions.
The maximum theoretical figure for an Enterprise
license is the authorized user count multiplied by 10).

Note: The divisor of 4 is based upon an estimate


of no more than one concurrent PHANTOM process
per four interactive sessions. For systems that use
a higher proportions of PHANTOMs than a ratio of
one in four, this divisor should be adjusted to the
appropriate ratio.

14
Product configuration

Description HPUX Solaris Recommended Value


Shared shmmni shmmni Must be greater than SHM_GNTBLS
memory
max-shm-ids
segments
(Solaris 10+)
Number of msgmni msgmni Non-RFS: 10 + the number of concurrent journal
message processes if you are using UniData Journaling.
max-msg-ids
queues
(Solaris 10+) RFS: ((number of authorized users / 4) * 2) + 10
Semaphore semmni semmni NUSERS/NSEM_PSET + 1
identifiers
max-sem-ids
(Solaris 10+)
Number of semmns semmns (NUSERS*2) + 10
semaphores
available
system wide

Warning: Beginning at Release 4.1, UniData required more system-wide semaphores than
previous releases of UniData. The number of semaphores system-wide, normally semmns, should
be a miminum of NUSERS + 10. The number of semaphore identifiers, normally semmni, must be a
minimum of NUSERS/NSEM_PSET + 1. If either of these kernel parameters are not adequate for the
number of licensed users, an error message similar to “Exit: smm: cannot allocate semaphore for
udtno xx errno 28. Exit: SMM can’t setup Control Table List” will be displayed, and UniData will fail
to start.

Product configuration
A UniData Product Configuration sheet was delivered with your UniData product. This sheet lists
customer information, hardware information, and the products and number of users you are
authorized to install. Verify that all the information on the Product Configuration sheet is correct. You
need this sheet when authorizing UniData.

Disk space
On most systems, you must have at least 250 megabytes (MB) of free disk space under one mount
point for the UniData installation to run. Depending on the type of installation, some space — as much
as 10 MB — may be released after installation.
If you decide to install UniData on a partition other than the default /usr partition, you will still need
to have approximately 2 MB available on /usr. This space is used for the /usr/ud81/include
directory
If you are planning to use the Recoverable File System (RFS), use the following formula to determine
the minimum disk space you need for logging:

8 MB + 4096 * (NUSERS + 1)

These requirements are based on the default of two before image and after image logs per set.
Each archive should be a minimum of 8 MB to contain two sets of after image logs.

Note: If you turn on archiving, you need to plan for additional resources (either disk or tape) to
handle regular backup of archive files.

15
Chapter 2: Introduction to installing the UniData RDBMS

To determine the space available on your system, use the UNIX df or du command at the shell
prompt. See your host operating system documentation for help with these commands.

Tip: Most UNIX systems provide an online manual, also known as the “man pages.” At the UNIX
prompt, enter the man man command to see if your system provides an online manual, and if so,
refer to the man pages about the specific syntax for df or du commands.

Memory
The exact memory needs for a UniData installation are highly platform and application specific. Aside
from the memory required by other applications on your system, if any, you can use the following
guidelines to estimate the memory required for your UniData installation:
▪ Approximately 10–20 MB of free memory for the operating system. Consult your host operating
system documentation for the amount of memory needed for your operating system.
▪ 2 MB of free memory per UniData session if you do not use RFS, just to run UniData.
▪ 3-5 MB of free memory per UniData session if you do use RFS, just to run UniData. Remember that
more memory is required if you use Transaction Processing, if you have a large number of writes in
one transaction, and if you are using archiving.
▪ Any additional memory required by your application.
 
▪ Compute your memory needs, then add 10 percent more memory for the UNIX file system buffer.
The following example illustrates how to calculate the amount of memory necessary for 50 users
running an application that requires 1 MB of memory per session. In this example, RFS is not
considered:

Memory needed for OS 10 MB


Memory needed for UniData (2 MB * 50 users) 100 MB
Additional memory needed for application (1 MB * 50 users) 50 MB
Subtotal 160 MB
10 percent for file system buffer 16 MB
Total memory required 176 MB

In the next example, memory is calculated for the same scenario running RFS:

Memory needed for OS 10 MB


Memory needed for UniData (4 MB * 50 users) 200 MB
Additional memory needed for application (1 MB * 50 users) 50 MB
Subtotal 260 MB
10 percent for file system buffer 26 MB
Total memory required 286 MB

Create and verify all needed backups


We recommend that you complete a full backup of the device on which you want to install UniData
before you begin installation. If you already backed up that device, verify that the backup is complete
and valid. If you are upgrading, you should also perform and verify a full backup of all your UniData
data files.

Warning: If you are upgrading from a previous version of UniData with RFS to UniData 8.1 with
RFS, it is important that you create and verify a full backup of all your recoverable data files. We

16
Downloading UniData

suggest you use only log files or archive files created under UniData 8.1 to recover from system or
media failures that occur at UniData 8.1.

Downloading UniData
Download your UniData products from https://u2tc.rocketsoftware.com for the United States and
Canada or https://u2tcint.rocketsoftware.com if not in the United States or Canada.
Copy the file to some other location on your system, using the UNIX cp command. We suggest that you
copy the file into the directory that is your UniData bin directory. By default, this is /usr/ud81/bin.
You must extract the file to the UDTBIN directory and no other location.

Preinstallation tasks on UniData for Windows platforms


The information in this sections applies to both new and upgrade installation of UniData for
Windows platforms.

Verify hardware and software compatibility


Verify that your Windows system meets the following criteria:
▪ Intel processor, 486 SX33 or better, or DEC Alpha processor configured for Windows 2000 or
greater.

Tip: Consult the Microsoft web site for information about hardware compatibility.

▪ At least 32 MB of RAM.
▪ At least 250MB of disk space on an NTFS partition for installing the UniData system files. This
requirements does not include space for your UniData database files.
▪ Windows XP, or greater.
▪ TCP/IP. You must have TCP/IP installed on your Windows system if you plan to install and use
UniData ODBC, the UniData Telnet Service, NFA, U2 Replication, or EDA.

Note: You must install UniData on NTFS partition, not a FAT partition. UniData is supported for
NTFS file systems only.

Note: On Red Hat Linux, running telnet in SSL mode will not work when SELINUX is enabled.

Assemble required materials


You must have:
▪ The UniData download file.
▪ UniData Product Configuration Sheet (shipped with distribution media)

17
Chapter 2: Introduction to installing the UniData RDBMS

Understanding the UniData directories


The UniData installation process creates several directories that contain components of the software.

Directory structure on UniData for UNIX


When you use the basic installation instructions, all the directories are under /usr/ud81 and have the
default names. The advanced and other installation processes allow you to specify other names for
some directories:

Table 2: Default UniData Directories

Default Directory Description


/usr/ud81 or By default, contains the bin, demo, lib, log, objcall, sys, and work subdirectories.
udthome May contain other subdirectories. This important directory can have any valid
UNIX directory name. For that reason, this publication sometimes refers to it as
udthome. (The italics show that udthome is a variable expression in the text.)
/usr/ud81/bin Contains the UniData binary (executable) files. It is the directory into which you
or udtbin load the software from the tape. The directory does not have to be in udthome,
and it can have any name. In this publication, it is sometimes referred to as
udtbin.
usr/ud81/work or Contains files needed to rebuild the UniData “kernel,” which is an executable
udtwork called udt. The files are required if you ever intend to use CallBasic or CALLC.
The work directory is loaded into udthome unless you specify another path
during installation. If the directory is not named “work,” you must create the
environment variable WORKPATH to define the path. In this publication, the
work directory is sometimes referred to as udtwork.
/usr/ud81/lib Contains libraries for all UniData executables. It is loaded into udthome unless
or udthome/lib you specify another path during installation. The directory can have any name.
If you change its location or name, also change libpath in udtwork/base.mk
and udtwork/callbas.mk. 
/usr/ud81/ Contains the files path81, udtconfig, sysconfig, repconfig, repsys, and files
include needed for the Recoverable File System (RFS). Also contains header files needed
to link the libraries in /lib. The name of this directory cannot be changed.
/usr/ud81/ A demonstration account created by default in udthome/demo; may be
demo or moved, removed, or renamed any time after installation.
udthome/demo
/usr/ud81/sys Contains UniData compiled programs provided with UniData, including the
or udthome/ Alternative Editor (AE), and files used by AE. Also contains the default global
sys  catalog, which includes globally cataloged UniBasic object code. This directory
also contains the master VOC file for your installation, and other system
files such as the error message files. This directory must reside under the
udthome directory.
/usr/ud81/ Contains control files, client demo, and include directories for ObjectCall. The
bin/ods name of this directory cannot be changed.
/usr/ Contains information necessary for the unirpcd daemon.
unishared

18
Directory structure on UniData for Windows platforms

Directory structure on UniData for Windows platforms


When you use the basic installation instructions, all these directories are under \U2\ud81 and have
the default names. The advanced and other installation processes allow you to specify other names
for some directories:

Table 3: Default UniData Directories

Default Directory Description


\U2\ud81 or udthome By default, contains the bin, demo, include, sys, odbc, NTMIGRATE,
master, and udtmon subdirectories. May contain other
subdirectories. This important directory can have any valid directory
name. For that reason, this publication sometimes refers to it as
udthome. (The italics show that udthome is a variable expression
in the text.)
\U2\ud81\bin or udtbin Contains the UniData binary (executable) files. The directory does
not have to be in udthome, and it can have any name. In this
publication, it is sometimes referred to as udtbin.
\U2\ud81\demo A demonstration account created by default in udthome\demo;
orudthome\demo may be moved, removed, or renamed any time after installation.
\U2\ud81\sys or Contains UniData compiled programs provided with UniData,
udthome\sys  including the Alternative Editor (AE), and files used by AE. Also
contains the default global catalog, which includes globally
cataloged UniBasic object code. This directory also contains the
master VOC file for your installation, and other system files such
as the error message files. This directory must reside under the
udthome directory.
\U2\ud81\odbc or Contains the charsets and locales directories.
udthome\odbc
\U2\unishared Contains information necessary for the unirpc service.

Determining the location of log files for RFS on UniData


for UNIX
This preparation is applicable if you plan to install the Recoverable File System (RFS) as part of your
UniData 8.1 installation process. You may also enable RFS after you have installed UniData 8.1. For
detailed information on the log files and RFS, see Links Administering the Recoverable File System.
The types of log files are:
▪ Before image log files.
▪ After image log files.
▪ File-level log file.
If you include RFS when you install UniData 8.1, UniData automatically creates a set of log files in the
destination you specify by using a default log configuration table. You can use the default files for
testing, but you may need to reconfigure if you want to use RFS in production.

Note: If you are upgrading from a previous release of UniData with RFS to UniData 8.1 with RFS,
and you want to keep your log files in the same location, be aware that the upgrade process will

19
Chapter 2: Introduction to installing the UniData RDBMS

overwrite existing log files. Make sure you backed up your data files, and stop UniData with stopud
before you begin the upgrade.

Tip: We recommend that you create the log files on a different physical device than your UniData
data files. You can create log files on a raw disk or UNIX file system.

Uninstalling UniData
Follow the applicable steps below to uninstall UniData.
Uninstalling on Windows:
▪ Stop all UniData services, including UniRPC
▪ Uninstall UniData through the Windows control panel.
▪ Remove the UniData home and UniShared paths at the operating system level.
Uninstalling on UNIX:
▪ Stop UniData.
▪ Remove the $UDTHOME path, unishared path (/.unishared location), and /usr/ud##
directory
▪ Remove uvrpc and any UDT telnet/ssl telnet lines from /etc/services or inetd/xinetd
configuration files

20
Chapter 3: UniData RDBMS basic installation
This chapter is intended for those who are installing UniData Release 8.1 on UNIX or Windows
platforms. These instructions guide you through the basic installation process. Use the basic
installation instructions when you are installing UniData for the first time and want to use the default
directories.
On UniData for UNIX, answers to the prompts in the installation script are kept in the
install.param file that is located in udtbin. This file contains responses that are most likely
inappropriate for your installation after it is loaded from tape. After you complete the installation
process, your responses to the installation prompts are written to this file.
You can edit the install.param file to customize your installation, then use the customized file as
part of the installation process without having to provide input to the installation prompts. If you want
to use this option, proceed to Installing using the install.param file on UniData for UNIX, on page 30.

Step-by-Step Installation on UniData for UNIX


Follow the steps in this section for a basic installation. You must be logged in as root to perform the
installation.

Note: If installing UniData on a Solaris zone, the UUID (Universally Unique Identifier) is required. If
the command zoneadm list -pic returns no value in the 5th field then UniData will become
unlicensed on a reboot of the server. If the UUID is blank, then confirm that the
/etc/zones/index file on the child zone matches the information for this server in the
/etc/zones/index file on the global zone. Following is an example of the command output:

# zoneadm list -pic


4:myhostname:running:/:ae5c8850-64df-e846-f452-e2c81c063064:native:shared

1. Check or create your bin directory


The installation process uses a default directory called /usr/ud81/bin. You must create this directory
and its parent directory, udthome. Enter the following example as shown to create these directories:

# mkdir /usr/ud81
# mkdir /usr/ud81/bin
# cd /usr/ud81/bin

2. Download the UniData zip file


Download your UniData products from https://u2tc.rocketsoftware.com for the United States and
Canada or https://u2tcint.rocketsoftware.com if not in the United States or Canada. Unzip the UniData
software into the UDTBIN directory and no other location.

21
Chapter 3: UniData RDBMS basic installation

3. Enter ./udtinstall
Enter ./udtinstall at the system prompt. This begins the installation process.

International installation
The UNIX LANG environment variable affects the behavior of UniData. Before you install UniData, you
should be aware of the consequences of using a LANG setting other than “C.” If you use a LANG setting
other than “C,” note that certain UniData commands may cause unpredictable results, such as the
UniBasic UPCASE and DOWNCASE commands, and the MCU and MCL conversion codes.
If you are installing UniData in an environment that does not support ASCII characters 250 through
255, and ASCII character 192 as internal markers, read UniData International before proceeding with
the installation.

Tip: We strongly recommend that the value of LANG is consistent for all users. Consider setting the
LANG environment variable in the .profile or .login script.

Choosing a LANG setting


When choosing a LANG setting for your system, make sure the LANG setting you choose is supported
by UniData. To find the supported LANG settings for your system, execute the locale -a command, as
shown in the following example:

# locale -a
CPOSIX
C.iso88591
C.utf8univ.utf8
ar_DZ.arabic8
ar_SA.arabic8
ar_SA.iso88596
bg_BG.iso88595
cs_CZ.iso88592
da_DK.iso88591
da_DK.roman8
nl_NL.iso88591
nl_NL.roman8
.
.
.
#

During the installation process, UniData changes the LANG environment variable to “C” for installation
processing and displays the following message:

# udtinstall
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
WARNING:
-- environment variable LANG is not set to ‘C’
-- it will be set to ‘C’ by Unidata for installation
-- see Unidata Installation Guide for more details
Would you like to continue? [Yes]:

If you press ENTER to accept the default answer of “Yes,” UniData continues the installation process
using the LANG group of “C.” If desired, you can change your LANG environment variable after

22
NonInternational installation

the installation process is complete. If you answer “No” to the above prompt, UniData exits the
installation process.

NonInternational installation
If you are executing a default installation, the following screen appears:

# cd $UDTBIN
#./udtinstall
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
WARNING: If UniData system is still running, it will be
stopped with force. This may not guarantee the consistency of
your database files, so we recommend that you stop the system
with ‘stopud’ before installing/upgrading UniData.
Would you like to continue? [Yes]:

  Press ENTER to accept the default of “Yes” if you want to continue with the installation process. If you
do not want to proceed at this time, enter “No.”

Note: You must enter “Yes” , “yes”, or “YES” and  “No”, “no” or “NO” rather than “Y” or “N” for all
prompts in the installation process.

4. Enter the UDTHOME directory


UniData prompts for the full path of the UDTHOME directory. For the basic installation, accept the
default /usr/ud81 directory by pressing ENTER:

Enter the full path name of udt home directory [/usr/ud81]:


WARNING: The path you selected doesn't equal to UDTHOME.
The environment variable UDTHOME will be ignored and it needs to be
changed after the installation.

UniData displays the preceding warning message because the UDTHOME environment variable is not
set. You can set environment variables in step 19 of these instructions.

5. Enter the udtwork directory


The system displays the default work directory where it will load the files to rebuild UniData. Press
ENTER to accept the default:

Enter the full path name of work directory [/usr/ud81/work]:

6. Enter the udtlib directory


This directory contains libraries for all UniData executables. Press ENTER to accept the default:

Enter the full path name of lib directory [/usr/ud81/lib]:

23
Chapter 3: UniData RDBMS basic installation

7. Enter the location of the log files


This directory contains the location where UniData will build the log files for the Recoverable File
System (RFS). Press ENTER to accept the default:

Enter the full path name of log directory [/usr/ud81/log]:

8. Enter the location of the unishared directory


The unishared directory contains files necessary for the unirpcd daemon. Press ENTER to accept the
default location of /usr/unishared:

Enter the full path name of unishared directory [/usr/unishared]:

9. Enter a group name


UniData uses the group name associated with the root login name. If the group name displayed is
correct, press ENTER. If the default is not correct, enter the correct group name:

Enter a valid group name for changing files' group [sys]:

10. Enter the serial number


Enter the serial number found on your Software Product Configuration sheet in response to the
following prompt. This information is not required as part of the installation.

Enter the Serial Number displayed on your


"Software Product Configuration" sheet: [serial_number]:

For example, if your license number is 12345678-UDT, enter 12345678 without the -UDT extension.

11. Install the recoverable file system


If you do not want to install the Recoverable File System (RFS) at this time, press ENTER to accept the
default of No. You must purchase the RFS product separately. If you are not sure whether you have
purchased RFS, check the Product Configuration Sheet. You can install RFS at a later time without
rerunning the installation process. To enable RFS postinstallation, see Administering the Recoverable
File System.
If you choose to install RFS at this time, enter Yes. The installation process creates a default log
configuration table, creates the log files, and turns on RFS:

Turn on the Recoverable File System? [No]:

24
12. Install replication

12. Install replication


If you do not want to install Replication at this time, press ENTER to accept the default of No. You can
install Replication at a later time without rerunning the installation process. To enable Replication
post-installation, see Using UniData Replication.
If you choose to install Replication at this time, enter Yes. The installation process creates a default
configuration file, creates the log files, and turns on Replication:

Turn on the Replication System? [No]:

13. Back up existing directories


This option does not apply to a basic installation, since it backs up existing UniData 7.2 directories.
Press ENTER to accept the default of No.

Backup the existing directories? [No]:

14. Decide when to authorize UniData


UniData prompts you to indicate whether you want to configure the product at the end of the
installation process. If you enter Yes at this prompt, UniData automatically runs the confprod utility
as part of the installation. If you do not want to configure the product at the end of the installation
process, press ENTER to accept the default of No. UniData will run for 10 days after installation
without requiring authorization.

Config product at the end of installation? [No]:

Warning: When licensing UniData, you must be using a terminal supported by vvtermcap.
vvtermcap is a special UniData termcap-like file located in the udtbin directory. UniData
supports the following terminal types: ANSI, DEC VT100, DEC VT220, VT52, and WYSE 50. If you are
installing UniData from a different type of terminal, do not configure the product at the end of the
installation process.

15. Review input data


UniData displays a summary of the information input at each prompt before proceeding with the
installation. Review the summary carefully. If all the values are correct, press ENTER to accept the
values and proceed with the installation process. If some information is incorrect, enter No. UniData
exits the installation process. You need to restart the installation and make any corrections to prompt
responses.

Summary of your inputs


CheckLang Yes
SaveDir save
OverWrite Yes
Confirm No
StopSys Yes
WorkDir /usr/ud81/work

25
Chapter 3: UniData RDBMS basic installation

LibDir /usr/ud81/lib
LogDir /usr/ud81/log
UnisharedDir /usr/unishared
Group sys
Serial serial_number
RFSflag No
REPflag No
Backup No
ConfProduct No
Are those values correct? [Yes]:

16. Proceed with the installation process


The installation process first makes sure that the version of UniData identified by UDTBIN is not
running. The installation process then changes the file’s ownership to root, and the group name to the
name you specified.
Next, the installation process tests the system configuration by running the systest utility, then creates
the include, ods, lib, sys, demo, work, include,  lib, sys, demo, work, sybase, unishared, and objcall
directories.

Start installing/upgrading UniData RDBMS Release 8.1.

Using UDTBIN=/usr/ud81/bin

UniData is not running.


SM has already been stopped.
CLEANUPD has already been stopped.
SMM is not running.
SBCS has already been stopped.
SMM is not running.
Unirpcd is being shared by other U2 database products

Unidata R8.1 has been shut down.

Changing files’ ownership and group name ...

Testing system configuration ...

Creating/Updating /usr/ud81/include directory...

Creating/Updating /usr/ud81/ods directory...

Creating/Updating /usr/ud81/lib directory...

Creating/Updating /usr/ud81/sys directory...

Creating/Updating /usr/ud81/demo directory...

Creating/Updating /usr/ud81/work directory...

Creating/Updating /usr/ud81/objcall directory...

26
17. Authorize UniData

You now have completed the installation process. The following


directories are not required for running udt, you may either
remove them to save some disk space or keep them there for
future use:

/usr/ud81/bin/include
/usr/ud81/bin/lib
/usr/ud81/bin/work
/usr/ud81/bin/demo

Do you want to save those directories (save/delete) [save]:

17. Authorize UniData


If you answered Yes to the Config product at the end of installation prompt,
UniData automatically runs the confprod utility at this time. Refer to Licensing UniData products, on
page 116  for information about licensing UniData. If you answered No at the Config product
at the end of installation prompt, proceed to the next step. You have 10 calendar days
from the date you install UniData to license the product.
If you authorize UniData as part of the installation process, UniData executes the systest command
again to determine configuration parameters for the number of authorized users. If your kernel
parameters are not adequate to support the number of authorized users, UniData displays messages
similar to the following:

You may not be able to run full number of users sessions (1250)
as configured due to the current semmnu setting (100) in
your Unix system. You need to increase semmnu to 3750 and
rebuild your Unix kernel.
The number of global tables(SHM_GNTBLS) should not be greater
than SHMMNI.
No enough message queue identifiers. Please make N_TMQ and N_PGQ
smaller or enlarge MSGMNI.
There’s no enough semaphore identifiers in the system. Please
decrease NUSERS or enlarge SEMMNI.
There’s no enough semaphore undo structures in the system. Please
decrease NUSERS or enlarge SEMMNU.

If you see messages similar to those in the preceding example, you must change your kernel
parameters before you will be able to start UniData.
See Administering the Recoverable File System for information on RFS configuration parameters and
Administering UniData for information about configuration parameters and system tuning.

18. Choose to release disk space


UniData prompts you to save or remove the include, lib, work, and demo directories from udtbin,
because they are not needed in the udtbin directory for running UniData. If you remove these
directories, you free up approximately 10 MB of disk space, but you will have to tar the UniData tape
again if you need to reinstall UniData. If you do not remove these directories, you can reinstall UniData
without having to tar the tape.

You now have completed the installation process. The following directories
are not required for running udt, you may eitherremove them for saving some
disk space or keep them there forthe future use:

27
Chapter 3: UniData RDBMS basic installation

/usr/ud81/bin/include
/usr/ud81/bin/lib
/usr/ud81/bin/work
/usr/ud81/bin/demo
Do you want to save those directories? [Yes]:

19. Installation complete


The installation process is now complete. If you need to authorize UniData at this time, follow the
steps outlined in Licensing UniData products, on page 116. If you licensed UniData in step 17, you
can proceed with the next step.

Install unishared components...


Installed /usr/unishared/icsdk version 2.5.
Installed /usr/unishared/unirpc version 10.0.0.
Installed /usr/unishared/uojsdk version 1.2.
Installed /usr/unishared/jdbc version 1.0.0.
Updating /usr/unishared/sharedby...
Done.
Updating /usr/unishared/unirpc/unirpcservices...
Done.
Congratulations! You have successfully installed/upgraded to
UniData RDBMS 8.1. Run startud to start UniData 8.1.
#

20. Check install.log


The responses to the installation prompts and any messages directed to the terminal screen are
captured in the install.log located in /usr/ud81/bin. Check the install.log to ensure that no error
messages appear in the log. If any error messages appear, correct the indicated problems before
proceeding.

21. Set environment variables


Before you can test the installation by starting UniData and invoking a UniData session, you need to
define the environment variables for udthome and udtbin. The following examples show how to do
this by using the default names from a basic installation.

From the Bourne or Korn shell:


UDTHOME=/usr/ud81;export UDTHOME
UDTBIN=/usr/ud81/bin;export UDTBIN
From the C shell:
% setenv UDTHOME /usr/ud81
% setenv UDTBIN /usr/ud81/bin

From the Bash shell:


export UDTHOME=/disk1/ud81
export UDTBIN=/disk1/ud81/bin
export LANG=C

28
22. Run makeudt

If you are using XML, you must also set your library path. The following table shows the library path
environment variables by platform:

Table 4: Library Path Environment Variables

Platform Library Path Environment Variable


AIX LIBPATH=$LIBPATH:$UDTBIN
HP SHLIB_PATH=$SHLIB_PATH:$UDTBIN
SOLARIS LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
LINUX LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN

22. Run makeudt


If your application links in C routines with CALLC, you need to link the udt executable by running
makeudt now. For information on makeudt, see Administering UniData and Developing UniBasic
Applications.

23. Start UniData


You can now start UniData with the startud command. The following example shows the output from
startud:

# ./startud
Using UDTBIN=/usr/ud81/bin
All output and error logs have been saved to ./saved_logs
directory.
SMM is started.
SBCS is started.
CLEANUPD is started.
Unirpcd is started
UniData R8.1 has been started.
UniData Release 8.1 Build: (6101)(c) Copyright Rocket Software, Inc. 1985-2015.
All rights reserved. Current UniData home is /usr/ud81/.Current working
directory is /usr/ud81/demo.

You can now run UniData. Change directories using the UNIX cd command to the demo account
located in /usr/ud81/demo. Enter the full path name of the bin directory, followed by the udt
command (if you have set your environment variables, the default is udtbin/udt, as in the following
example). If you have already authorized device licensing, enter udtts.

# cd ../demo
# udt

The following screen appears:

UniData Release 8.1 Build: (6101)


(c) Copyright Rocket Software, Inc. 1985-2015.
All rights reserved.
Current UniData home is /usr/ud81/.
Current working directory is /usr/ud81/demo.

29
Chapter 3: UniData RDBMS basic installation

Note: Before users can access UniData, you must set environment variables for all users. Consider
using a .login or .profile script. You can include the full UniData paths there. You also need to
make sure each user’s path includes the udtbin path. For detailed information about this, see
Administering UniData.

Installing using the install.param file on UniData for


UNIX
If you do not want to answer each prompt during the installation, you can customize the install.param
file located in /usr/ud81/bin, then use this file for the prompt responses. The following example
displays the contents of the install.param file before any customization:

# pg install.param
CheckLang Yes
UdtHome /disk2/srcman/alpha/ud_PEAK_981110
WorkDir /disk2/srcman/alpha/ud_PEAK_981110/work
LibDir /disk2/srcman/alpha/ud_PEAK_981110/lib
LogDir /disk2/srcman/alpha/ud_PEAK_981110/log
UnisharedDir /usr/unishared
Serial HPUX11
Group unisrc
StopSys Yes
RFSflag Yes
OverWrite No
Backup No
ConfProduct No
SaveDir save

Use any UNIX text editor to customize the prompt responses listed in the install.param file, or create
your own file with the required responses. In the following example, the default paths are used for
UdtHome, WorkDir, LibDir and LogDir. Group is changed to sys:

# pg install.param
CheckLang Yes
StopSys Yes
UdtHome /usr/ud81
WorkDir /usr/ud81/work
LibDir /usr/ud81/lib
LogDir /usr/ud81/log
UnisharedDir /usr/unishared
Group sys
Serial serial_number
RFSflag No
REPflag No
Backup No
ConfProduct No
OverWrite Yes
Confirm Yes
SaveDir save

Next, execute the udtinstall command with the -f option.


Syntax:
udtinstall -f filename

30
Troubleshooting tips

In the following example, udtinstall is executed by using the install.param file:

# ./udtinstall -f install.param
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
Enter the Serial Number displayed on your "U2 Software Product
Start installing/upgrading UniData RDBMS Release 8.1.
Using UDTBIN=/usr/ud81/bin
SM has already been stopped.
CLEANUPD has already been stopped.
SMM is not running.
SBCS has already been stopped.
SMM is not running.
Unirpcd has already been stopped
Unidata 8.1 has been shut down.
Changing files’ ownership and group name ...
.
.
.
Creating/Updating /usr/ud81/include directory...
Creating/Updating /usr/ud81/ods directory...
Creating/Updating /usr/ud81/lib directory...
Creating/Updating /usr/ud81/sys directory...
Creating/Updating /usr/ud81/demo directory...
Creating/Updating /usr/ud81/work directory...
Creating/Updating /usr/ud81/objcall directory...
Checking UNIX system configuration for running UniData ...
Update VOC files in /usr/ud81/sys /usr/ud81/demo ...
You now have completed the installation process. The following
directories are not required for running udt, you may either
remove them to save some disk space or keep them there for
future use:
/usr/ud81/bin/include
/usr/ud81/bin/lib
/usr/ud81/bin/work
/usr/ud81/bin/demo
Install unishared components...
Installed /usr/unishared/icsdk version 2.5.
Installed /usr/unishared/unirpc version 10.1.0.
Updating /usr/unishared/sharedby...
Done.
Updating /usr/unishared/unirpc/unirpcservices...
Done.
Congratulations! You have successfully installed/upgraded to
UniData RDBMS 8.1. Run startud to start UniData 8.1.

You should now complete steps 19 through 23 of the step-by-step installation instructions.

Troubleshooting tips
This section describes the cause of three problems commonly encountered during the UniData
installation.
Problem:
Installation completes, but UniData will not start.
Cause:
These failures are usually related to a UniData configuration parameter or a UNIX kernel parameter.
Check the smm.errlog file located in udtbin. The most common adjustments are:

31
Chapter 3: UniData RDBMS basic installation

N_PUT
This UniData configuration parameter, which controls the size of the system buffer for RFS, has
a default value of 8192. You may have to decrease it to 4096, depending on the size of shmmax *
shmseg. If this result is greater than 8 MG, you will have to adjust N_PUT
N_TMQ and N_PGQ
These UniData configuration parameters are numbers of UNIX message queues created for
communication between user processes and the Recoverable File System. By default, each parameter
is set to one queue for every four users. Add these to the number of message queues required by the
UniData lock control process (one queue for every five users), plus ten queues for the other UniData
daemons, and adjust the UNIX kernel parameter msgmni (number of message queues on your system)
accordingly. If you cannot increase msgmni, temporarily reduce N_TMQ and N_PGQ until the kernel
can be rebuilt.
Problem:
The smm.errlog contains a message similar to:

Exit: smm: cannot allocate semaphore for udtno xx errno xx


Exit: SMM can’t setup Control Table List

Cause:
The number of semaphores available system-wide is not adequate for the number of users on your
system. Increase the kernel parameter defining the number of semaphores available system-wide,
normally semmns, to at least NUSERS + 10. If you cannot rebuild the kernel, you must decrease the
NUSERS parameter in the udtconfig file, located in /usr/ud81/include, until the kernel can be
rebuilt.
Problem:
Message “Warning: As the ‘ranlib’ command is not available for this system, UniData libraries will
not be ready for rebuilding udt. The utilities makeudt and makesvr will not work” is displayed during
installation.
Cause:
This occurs on an AIX system that has not had the Application Development Toolkit installed. This is
not a problem unless your application requires C routines that need to be linked into UniData. This
linking process (makeudt) requires other utilities from this toolkit as well. If you do not need to link
C routines, ignore these messages. If you need to link C routines, install the AIX Toolkit and rerun
udtinstall.

Note: If you answered the last prompt in udtinstall with exit, you need to reload your UniData tape
first.

Problem:
Shared memory problems when editing large items with the Alternative Editor (AE). An example of a
shared memory error is:

Error when creating a shared memory segment size=1440416), errno=22

Cause:
If you experience shared memory errors, see Administering UniData for information on shared memory
configuration parameters.

32
Step-by-Step Installation on UniData for Windows Platforms

Step-by-Step Installation on UniData for Windows


Platforms
Complete the following steps to install UniData 8.1 products for the first time on your Windows
system. If you are upgrading from a previous version of UniData for Windows Platforms, see
UniData RDBMS upgrade installation, on page 81.

1. Log on as an administrator
You must log on with Administrator privileges to install UniData. Either log on to the Administrator
account on the Windows system, or log on as a member of the local Administrators group.

2. Stop current installed services


If you are already using a Telnet service or a serial terminal support service from another vendor, and
you want to install UniData’s Telnet or serial terminal support services, you must stop your existing
services before you proceed with the UniData installation.
Use either the Control Panel or vendor documentation to disable your previously-installed Telnet/
serial terminal support services before proceeding.

Warning: After the installation is complete, you cannot run UniData’s Telnet Service or UniData’s
Serial Terminal Support Service at the same time as other Telnet or Serial terminal support
services. You must stop these services whenever you wish to use the ones you previously installed.

3. Download the zip file


Download the zip file from product from https://u2tc.rocketsoftware.com for the United States and
Canada or https://u2tcint.rocketsoftware.com if not in the United States or Canada. Unzip the UniData
software into the UDTBIN directory and no other location.

4. Execute the installation


You will see a message that the system is building an InstallShield wizard. Next the Welcome screen
appears, as shown in the following example:

33
Chapter 3: UniData RDBMS basic installation

Click Next to proceed with the installation.

5. Accept license agreement


The Software License Agreement dialog box appears, as shown in the following example:

34
6. Enter customer information

If you Agree with the license agreement, click I accept the terms of the license agreement. If you do
not agree with the license agreement, click I do not accept the terms of the license agreement.

6. Enter customer information


Enter your name, your company name, and your serial number in Customer Information dialog box,
and shown in the following example:

35
Chapter 3: UniData RDBMS basic installation

7. Choose destination location for UniData


Verify the location to install UniData. The default UniData directory is \U2\ud81, and the default
unishared directory is \U2\unishared, as shown in the following example.

36
8. Choose components and directory

If you do not want to accept the default, click Browse and choose the directory where you want to
install UniData and unishared.
Click Back to return to the previous screen. Click Next to continue with the installation. Click
Cancel to exit the installation process without saving changes.

8. Choose components and directory


The next dialog box allows you to select any or all of the UniData components to install. This
dialog box also displays information about how much disk space you need and how much disk space
is available on the default target partition, as shown in the following example:

Notice the following points about the Select Components dialog box:
▪ You may install components one at a time if you wish, repeating the installation procedure for each
components or group of components.
▪ As you select or clear components, the Space Required figure changes.
Select the components you want to install, and then click Next to start the installation.
Click Back to return to the previous screen. Click Cancel to exit the installation process without saving
changes.

Note: Do not install the UniData Telnet Service or the UniData Serial Terminal Support Service if
there is a Telnet service or serial terminal support service from another vendor currently running
on your Windows system. Exit the installation, stop any such services, and restart the installation
process.

37
Chapter 3: UniData RDBMS basic installation

9. Choose program folder name


Next, you will be prompted for a program folder for UniData. The default is Rocket U2\UniData
RDBMS 8.1, as shown in the following example.

Enter the name of the Program Folder for UniData 8.1. If you do not want to accept the default, and
then click Next to continue with the installation process.
Click Back to return to the previous screen. Click Cancel to exit the installation process without saving
changes.

10. Copy files


The installation process now copies files, creates the program group and icons, and updates the
Registry. The following window appears:

38
11. Complete the installation

Click Next to begin copying files. Click Back to return to the previous screen. Click Cancel to exit the
installation process without saving changes.

11. Complete the installation


When the installation is finished, a window similar to the following appears:

39
Chapter 3: UniData RDBMS basic installation

Click Finish to complete the installation. Click Back to return to the previous screen.

12. Restart your computer


You must restart your computer before starting a UniData session. A dialog box similar to the
following appears:

Select Yes, I want to restart my computer now, and then click OK to restart your computer. If you
want to restart your computer at a later time, click No, I will restart my computer later, and then
click OK.

40
13. Start a UniData session

13. Start a UniData session


From the Start menu, select All Programs > Rocket U2 > UniData RDBMS 8.1 , and then click UDT  to
start a UniData session.
You are now ready to license UniData. For information about licensing UniData, see Licensing UniData
products, on page 116.

Note: When you install UniData products, you have a ten day trial period before you must
authorize your configuration with Rocket Software. For the UniData RDBMS, the trial period starts
automatically.

14. Set library path environment variable


If you are using XML, you must also set your library path. The following table shows the library path
environment variables by platform:

Table 5: Library Path Environment Variables

Platform Library Path Environment Variables


Windows platforms PATH=$PATH:$UDTBIN

41
Chapter 4: UniData RDBMS advanced
installation
This chapter is intended for those who are installing UniData Release 8.1 on UNIX or Windows
platforms. These instructions guide you through an advanced installation process.
On UniData for UNIX, answers to the prompts in the installation script are kept in the install.param file
located in udtbin. This file contains responses that are most likely inappropriate for your installation
after it is loaded from tape. After you complete the installation process, your responses to the
installation prompts are written to this file.
You may edit the install.param file to customize your installation, then use the customized file as part
of the installation process without having to provide input to the installation prompts. If you want to
use this option, proceed to Installing using the install.param file, on page 51.

Step-by-step installation on UniData for UNIX


Follow the steps in this section for an advanced installation. You must log on with root permissions to
perform the installation.

Note: If installing UniData on a Solaris zone, the UUID (Universally Unique Identifier) is required. If
the command zoneadm list -pic returns no value in the 5th field then UniData will become
unlicensed on a reboot of the server. If the UUID is blank, then confirm that the
/etc/zones/index file on the child zone matches the information for this server in the
/etc/zones/index file on the global zone. Following is an example of the command output:

# zoneadm list -pic


4:myhostname:running:/:ae5c8850-64df-e846-f452-e2c81c063064:native:shared

1. Check or create your bin directory


Your current working directory must be the directory where you want the UniData executables
installed. Create the directories for udthome and udtbin, then cd to the directory you have specified
for udtbin. Verify your location by entering pwd. In the following example, /disk1 is created for
 udthome and /disk1/ud81/bin is created for udtbin:

# pwd
/disk1
# mkdir ud81
# cd ud81
# mkdir bin
# cd bin
# pwd/disk1/ud81/bin
#

42
2. Download the zip file

2. Download the zip file


Download the zip file from product from https://u2tc.rocketsoftware.com for the United States and
Canada or https://u2tcint.rocketsoftware.com if not in the United States or Canada. Unzip the UniData
software into the UDTBIN directory and no other location. 

3. Enter ./udtinstall
Enter ./udtinstall at the system prompt. This begins the installation process.

International installation
The UNIX LANG environment variable affects the behavior of UniData. Before you install UniData, you
should be aware of the consequences of using a LANG setting other than “C.” If you use a LANG setting
other than “C,” note that certain UniData commands may cause unpredictable results, such as the
UniBasic UPCASE and DOWNCASE commands, and the MCU and MCL conversion codes.
If you are installing UniData in an environment that does not support ASCII characters 250 through
255, and ASCII character 192 as internal markers, read UniData International before proceeding with
the installation.

Tip: We strongly recommend that the value of LANG is consistent for all users. Consider setting the
LANG environment variable in the .profile or .login script.

Choosing a LANG setting


When choosing a LANG setting for your system, make sure the LANG setting you choose is supported
by UniData. To find the supported LANG settings for your system, execute the locale -a command, as
shown in the following example:

# locale -a
C
POSIX
C.iso88591
C.utf8
univ.utf8
ar_DZ.arabic8
ar_SA.arabic8
ar_SA.iso88596
bg_BG.iso88595
cs_CZ.iso88592
da_DK.iso88591
da_DK.roman8
nl_NL.iso88591
nl_NL.roman8
.
.
.
#

During the installation process, UniData changes the LANG environment variable to “C” for installation
processing and displays the following message:

# udtinstall
Welcome to the UniData RDBMS.

43
Chapter 4: UniData RDBMS advanced installation

http://www.rocketsoftware.com/software/data/u2
WARNING:
-- environment variable LANG is not set to ‘C’
-- it will be set to ‘C’ by Unidata for installation
-- see Unidata Installation Guide for more details
Would you like to continue? [Yes]:

 
If you press ENTER to accept the default answer of Yes, UniData continues the installation process
using the LANG group of “C.” If desired, you can change your LANG environment variable after the
installation process is complete. If you answer No to the above prompt, UniData exits the installation
process.

NonInternational installation
If you are executing a default installation, the following screen appears:

# cd /disk1/ud81/bin
#./udtinstall
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
WARNING: If UniData system is still running, it will be
stopped with force. This may not guarantee the consistency of
your database files, so we recommend that you stop the system
with ‘stopud’ before installing/upgrading UniData.
Would you like to continue? [Yes]:

  
Press ENTER to accept the default of Yes if you want to continue with the installation process. If you
do not want to proceed at this time, enter No.

Note: You must enter “Yes”, “yes” or “YES” and “No”, “no”, or “NO” rather than “Y” or “N” for all
prompts in the installation process.

4. Enter the UDTHOME Directory


UniData prompts for the full path of the UDTHOME directory. For the advanced installation, enter the
udthome directory created in step 1:

Enter the full path name of udt home directory [/usr/ud81]:/disk1/ud81


WARNING: The path you selected doesn't equal to UDTHOME. The environment
variable UDTHOME will be ignored and it needs to be changed after the installation.

UniData displays the preceding warning message because the UDTHOME environment variable is not
set. You can set environment variables in step 19 of these instructions.

44
5. Enter the udtwork directory

5. Enter the udtwork directory


The system displays the work directory where it will load the files to rebuild UniData based on the
location of udthome you entered in step 4. If the path UniData displays is correct, press ENTER. If you
want the location of your work directory in another location, enter the full path:

Enter the full path name of work directory [/disk1/ud81/work]:

6. Enter the udtlib directory


This directory contains libraries for all UniData executables. UniData displays the path where it
will load this directory based on the location of udthome you entered in step 4. If the path UniData
displays is correct, press ENTER. If you want the location of the lib directory in another location, enter
the full path:

Enter the full path name of lib directory [/disk1/ud81/lib]:

7. Enter the location of the log files


This directory contains the location where UniData will build the log files for the Recoverable File
System (RFS) based on the location of udthome you entered in step 4. If the path UniData displays is
correct, press ENTER. If you want the log files in another directory, enter the full path. In the following
example, a different path is entered for the log files. You do not have to create the log file directory:

Enter the full path name of log directory [/disk1/ud81/log]:/home/logs

Warning: Make sure the path of the log directory is different that the log directory for the
concurrent version of UniData

8. Enter the location of the unishared directory


The unishared directory contains files necessary for the unircpd daemon. Press ENTER to accept the
default location of udthome/unishared, or enter an alternate path:

Enter the full path name of unishared directory [/disk1/unishared]:

9. Enter a group name


UniData uses the group name associated with the root login name. If the group name displayed is
correct, press ENTER. If the default is not correct, enter the correct group name:

Enter a valid group name for changing files' group [sys]:

45
Chapter 4: UniData RDBMS advanced installation

10. Enter the serial number


Enter the serial number found on your Software Product Configuration sheet in response to the
following prompt. This information is not required as part of the installation.

Enter the Serial Number displayed on your "Software ProductConfiguration"


sheet: [serial_number]:

For example, if your license number is 12345678-UDT, enter 12345678 without the -UDT extension.

11. Install the recoverable file system


If you do not want to install the Recoverable File System (RFS) at this time, press ENTER to accept the
default of No. You must purchase the RFS product separately. If you are not sure whether you have
purchased RFS, check the Product Configuration Sheet. You can install RFS at a later time without
rerunning the installation process. To enable RFS post-installation, see Administering the
Recoverable File System.
If you choose to install RFS at this time, enter Yes. The installation process creates a default log
configuration table, creates the log files, and turns on RFS:

Turn on the Recoverable File System? [No]:

12. Install replication


If you do not want to install Replication at this time, press ENTER to accept the default of No. You can
install Replication at a later time without rerunning the installation process. To enable Replication
post-installation, see Using UniData Replication.
If you choose to install Replication at this time, enter Yes. The installation process creates a default
configuration file, creates the log files, and turns on Replication:

Turn on the Replication System? [No]:

13. Back up existing directories


This option does not apply to the advanced installation since it backs up existing UniData 7.2
directories. Press ENTER to accept the default of No.

Backup the existing directories? [No]:

14. Decide when to authorize UniData


UniData prompts you to indicate whether you want to configure the product at the end of the
installation process. If you enter Yes at this prompt, UniData automatically runs the confprod utility
as part of the installation. If you do not want to configure the product at the end of the installation

46
15. Review input data

process, press ENTER to accept the default of No. UniData will run for 10 days after installation
without requiring authorization.

Config product at the end of installation? [No]:

Warning: When licensing UniData, you must be using a terminal supported by vvtermcap.
vvtermcap is a special UniData termcap-like file located in the udtbin directory. UniData
supports the following terminal types: ANSI, DEC VT100, DEC VT220, VT52, and WYSE 50. If you are
installing UniData from a different type of terminal, do not configure the product at the end of the
installation process.

15. Review input data


UniData displays a summary of the information input at each prompt before proceeding with the
installation. Review the summary carefully. If all the values are correct, press ENTER to accept the
values and proceed with the installation process. If some information is incorrect, enter No. UniData
exits the installation process. You need to restart the installation and make any corrections to prompt
responses.

Summary of your inputs


CheckLang Yes
SaveDir save
OverWrite Yes
Confirm No
StopSys Yes
WorkDir /disk1/ud81/work
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
UnisharedDir /usr/unishared
Group sys
Serial serial_number
RFSflag No
REPflag No
Backup No
ConfProduct No
Are those values correct? [Yes]:

16. Proceed with the installation process


The installation process first makes sure that the version of UniData identified by UDTBIN is not
running. The installation process then changes the file’s ownership to root, and the group name to the
name you specified.
Next, the installation process tests the system configuration by running the systest utility, then creates
the include, ods, lib, sys, demo, work, unishared, and objcall directories.

Start installing/upgrading UniData RDBMS Release 8.1.


Using UDTBIN=/disk1/ud81/bin
SM stopped successfully.
CLEANUPD stopped successfully.
SBCS stopped successfully.
SMM stopped successfully.
Unirpcd stopped successfully.
Unidata R8.1 has been shut down.

47
Chapter 4: UniData RDBMS advanced installation

Changing files' ownership and group name ...


Testing system configuration ...
.
.
.
Creating/Updating /disk1/ud81/include directory...
Creating/Updating /disk1/ud81/ods directory...
Creating/Updating /disk1/ud81/lib directory...
Creating/Updating /disk1/ud81/sys directory...
Creating/Updating /disk1/ud81/demo directory...
Creating/Updating /disk1/ud81/work directory...
Creating/Updating /disk1/ud81/objcall directory...
Checking UNIX system configuration for running UniData ...

17. Authorize UniData


If you answered Yes to the Config product at the end of installationprompt, UniData
automatically runs the confprod utility at this time. Refer to Licensing UniData products, on page
116 for information about licensing UniData. If you answered No at the Config product at
the end of installationprompt, proceed to the next step. You have 10 calendar days from
the date you install UniData to license the product.
If you authorize UniData as part of the installation process, UniData executes the systest command
again to determine configuration parameters for the number of authorized users. If your kernel
parameters are not adequate to support the number of authorized users, UniData displays messages
similar to the following:

You may not be able to run full number of users sessions (1250)
as configured due to the current semmnu setting (100) in
your Unix system. You need to increase semmnu to 3750 and
rebuild your Unix kernel.
The number of global tables(SHM_GNTBLS) should not be greater than SHMMNI.
No enough message queue identifiers. Please make N_TMQ and N_PGQ smaller
or enlarge MSGMNI.
There’s no enough semaphore identifiers in the system. Please decrease
NUSERS or enlarge SEMMNI.
There’s no enough semaphore undo structures in the system. Please decrease
NUSERS or enlarge SEMMNU.

If you see messages similar to those in the preceding example, you must change your kernel
parameters before you will be able to start UniData.
See Administering the Recoverable File System for information on RFS configuration parameters and
Administering UniData for information about configuration parameters and system tuning.

18. Choose to release disk space


UniData prompts you to save or remove the include, lib, work, and demo directories from udtbin,
as they are not needed in the udtbin directory to run UniData. If you remove these directories,
approximately 10 MB of disk space is opened. However, you will need to extract these directories from
the UniData tar file again.

You now have completed the installation process. The following


directories are not required for running udt, you may either
remove them for saving some disk space or keep them there for

48
19. Installation complete

the future use:


/usr/ud81/bin/include
/usr/ud81/bin/lib
/usr/ud81/bin/work
/usr/ud81/bin/demo
Do you want to save those directories? [Yes]:

19. Installation complete


The installation process is now complete. If you need to authorize UniData at this time, follow the
steps outlined in Licensing UniData products, on page 116. If you licensed UniData in step 17, you
can proceed with the next step.

Install unishared components...


Installed /usr/unishared/icsdk version 2.5.
Installed /usr/unishared/unirpc version 10.0.0.
Installed /usr/unishared/uojsdk version 1.2.
Installed /usr/unishared/jdbc version 1.0.0.
Updating /usr/unishared/sharedby...
Done.
Updating /usr/unishared/unirpc/unirpcservices...
Done.
Congratulations! You have successfully installed/upgraded to
UniData RDBMS 8.1. Run startud to start UniData 8.1.
#

20. Check install.log


The responses to the installation prompts and any messages directed to the terminal screen are
captured in the install.log located in /usr/ud81/bin. Check the install.log to ensure that no error
messages appear in the log. If any error messages appear, correct the indicated problems before
proceeding.

21. Set environment variables


Before you can test the installation by starting UniData and invoking a UniData session, you need to
define the environment variables for udthome and udtbin. The following examples show how to do
this by using the paths previously provided for udthome and udtbin:

From the Bourne or Korn shell:


UDTHOME=/disk1/ud81;export UDTHOME
UDTBIN=/disk1/ud81/bin;export UDTBIN
From the C shell:
% setenv UDTHOME /disk1/ud81
% setenv UDTBIN /disk1/ud81/bin

From the Bash shell:


export UDTHOME=/disk1/ud81
export UDTBIN=/disk1/ud81/bin
export LANG=C

49
Chapter 4: UniData RDBMS advanced installation

If you are using XML, you must also set your library path. The following table shows the library path
environment variables by platform:

Table 6: Library Path Environment Variables

Platform Library Path Environment Variables


AIX LIBPATH=$LIBPATH:$UDTBIN
HP SHLIB_PATH=$SHLIB_PATH:$UDTBIN
SOLARIS LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
LINUX LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN

22. Run makeudt


If your application links in C routines with CALLC, you need to link the udt executable by running
makeudt now. For information on makeudt, see Administering UniData and Developing UniBasic
Applications.

23. Start UniData


You can now start UniData with the startud command. The following example shows the output from
startud:

# ./startud
Using UDTBIN=/disk1/ud81/bin
All output and error logs have been saved to ./saved_logs directory.
SMM is started.
SBCS is started.
CLEANUPD is started.
Unirpcd is started
#

You can now run UniData. Change directories using the UNIX cd command to the udthome/
demo account. Enter the full path name of the bin directory, followed by the udt command (if you
have set your environment variables, the default is udt, as shown in the following example). If you are
using device licensing, enter udtts.

# cd ../demo
# udt

The following screen appears:

UniData Release 8.1 Build: (6101)


(c) Copyright Rocket Software, Inc. 1985-2012.
All rights reserved.
Current UniData home is /disk1/ud81/.
Current working directory is /disk1/ud81/demo.

Note: Before users can access UniData, you must set environment variables for all users. Consider
using a .login or .profile script. You can include the full UniData paths there. You also need to

50
Installing using the install.param file

make sure each user’s path includes the udtbin path. For detailed information about this, see
Administering UniData.

Installing using the install.param file


If you do not want to answer each prompt during the installation, you can customize the install.param
file located in udthome/bin, then use this file for the prompt responses. The following example
displays the contents of the install.param file before any customization:

# pg install.param
CheckLang Yes
UdtHome /disk2/srcman/alpha/ud_PEAK_981110
WorkDir /disk2/srcman/alpha/ud_PEAK_981110/work
LibDir /disk2/srcman/alpha/ud_PEAK_981110/lib
LogDir /disk2/srcman/alpha/ud_PEAK_981110/log
Serial HPUX11
Group unisrc
StopSys Yes
RFSflag Yes
OverWrite No
Backup No
ConfProduct No
SaveDir save

Use any UNIX text editor to customize the prompt responses listed in the install.param file, or create
your own file with the required responses. In the following example, the paths for UdtHome, WorkDir,
LibDir and LogDir are customized using /disk1/ud81 as udthome. Group is changed to sys:

# pg install.param
CheckLang Yes
StopSys Yes
UdtHome /disk1/ud81
WorkDir /disk1/ud81/work
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
UnisharedDir /usr/unishared
Group sys
Serial serial_number
RFSflag No
REPflag No
Backup No
ConfProduct No
OverWrite Yes
Confirm Yes
SaveDir save

Next, execute the udtinstall command with the -f option.


Syntax:

udtinstall -f filename

Troubleshooting tips
Problem:

51
Chapter 4: UniData RDBMS advanced installation

Installation completes, but UniData will not start. In this case, you will not see the normal message at
the end of the installation.
Cause:
These failures are usually related to a UniData configuration parameter or a UNIX kernel parameter.
Check the smm.errlog file located in udtbin. The most common adjustments are: N_PUTThis UniData
configuration parameter, which controls the size of the system buffer for RFS, has a default value of
8192. You may have to decrease it to 4096, depending on the size of shmmax * shmseg. If this result
is greater than 8 MG, you will have to adjust N_PUT. N_TMQ and N_PGQThese UniData configuration
parameters are numbers of UNIX message queues created for communication between user processes
and the Recoverable File System. By default, each parameter is set to one queue for every four users.
Add these to the ten queues for the other UniData daemons, and adjust the UNIX kernel parameter
msgmni (number of message queues on your system) accordingly. If you can’t increase msgmni,
temporarily reduce N_TMQ and N_PGQ until the kernel can be rebuilt.
Problem:
The smm.errlog contains a message similar to:Exit: smm: cannot allocate semaphore for udtno xx
errno xx Exit: SMM can’t setup Control Table List
Cause:
The number of semaphores available system-wide is not adequate for the number of users on your
system. Increase the kernel parameter defining the number of semaphores available system-wide,
normally semmns, to at least NUSERS + 10. If you cannot rebuild the kernel, you must decrease the
NUSERS parameter in the udtconfig file, located in /usr/ud81/include, until the kernel can be rebuilt.
Problem: 
Message “Warning: As the ‘ranlib’ command is not available for this system, UniData libraries will
not be ready for rebuilding udt. The utilities makeudt and makesvr will not work” is displayed during
installation.
Cause:
This occurs on an AIX system that has not had the Application Development Toolkit installed. This is
not a problem unless your application requires C routines that need to be linked into UniData. This
linking process (makeudt) requires other utilities from this toolkit as well. If you don’t need to link
C routines, ignore these messages. If you need to link C routines, install the AIX Toolkit and rerun
udtinstall.

Note: If you answered the last prompt in udtinstall with exit, you will need to reload your UniData
tape first.

Problem:
Shared memory problems when editing large items with the Alternative Editor (AE). An example of a
shared memory error is:Error when creating a shared memory segment size=1440416), errno=22 
Cause:
If you experience shared memory errors, see Administering UniData.

52
Step-by-step advanced installation on UniData for Windows platforms

Step-by-step advanced installation on UniData for


Windows platforms
Complete the following steps to install UniData 8.1 products for the first time on your Windows
system. If you are upgrading from a previous version of UniData for Windows Platforms, see UniData
RDBMS upgrade installation, on page 81.

1. Log on as an administrator
You must log on with Administrator privileges to install UniData. Either log on to the Administrator
account on the Windows system, or log on as a member of the local Administrators group.

2. Stop current installed services


If you are already using a Telnet service or a serial terminal support service from another vendor, and
you want to install UniData’s Telnet or serial terminal support services, you must stop your existing
services before you proceed with the UniData installation.
Use either the Control Panel or vendor documentation to disable your previously-installed Telnet/
serial terminal support services before proceeding.

Warning: After the installation is complete, you cannot run UniData’s Telnet Service or UniData’s
Serial Terminal Support Service at the same time as other Telnet or Serial terminal support
services. You must stop these services whenever you wish to use the ones you previously installed.

3. Download the zip file


Download the zip file from product from https://u2tc.rocketsoftware.com for the United States and
Canada or https://u2tcint.rocketsoftware.com if not in the United States or Canada. Unzip the UniData
software into the UDTBIN directory and no other location.

4. Execute the installation


You will see a message that the system is building an InstallShield wizard and, if needed, the Microsoft
C++ Redistributable Setup will be installed. Click the ‘I have read and accept the licensing terms’
prompt and click Install.

53
Chapter 4: UniData RDBMS advanced installation

Next the Welcome screen appears, as shown in the following example:

54
5. Accept license agreement

Click Next to proceed with the installation.

5. Accept license agreement


The Software License Agreement dialog box appears, as shown in the following example:

55
Chapter 4: UniData RDBMS advanced installation

If you Agree with the license agreement, click I accept the terms of the license agreement. If you do
not agree with the license agreement, click I do not accept the terms of the license agreement.

6. Choose components and directory


The next dialog box allows you to select any or all of the UniData components to install. This
dialog box also displays information about how much disk space you need and how much disk space
is available on the default target partition, as shown in the following example:

56
7. Choose destination location for UniData

Notice the following points about the Select Components dialog box:
▪ You may install components one at a time if you wish, repeating the installation procedure for each
components or group of components.
▪ As you select or clear components, the Space Required figure changes.
Select the components you want to install, and then click Next to start the installation.
Click Back to return to the previous screen. Click Cancel to exit the installation process without saving
changes.

Note: Do not install the UniData Telnet Service or the UniData Serial Terminal Support Service if
there is a Telnet service or serial terminal support service from another vendor currently running
on your Windows system. Exit the installation, stop any such services, and restart the installation
process.

7. Choose destination location for UniData


Verify the location to install UniData and the unishared directory. The default directories are
\U2\ud81, and \U2\unishared, as shown in the following example.

57
Chapter 4: UniData RDBMS advanced installation

If you do not want to accept the default, click Browse and choose the directory where you want to
install UniData.
Click Back to return to the previous screen. Click Next to continue with the installation. Click
Cancel to exit the installation process without saving changes.

8. Choose program folder name


Next, you will be prompted for the folder name for UniData. The default is Rocket U2\UniData
RDBMS 8.1, as shown in the following example.

58
9. Enter Licensing Details

Enter the name of the Program Folder for UniData 8.1 if you do not want to accept the default, and
then click Next to continue with the installation process.
Click Back to return to the previous screen. Click Cancel to exit the installation process without saving
changes.

9. Enter Licensing Details


Enter the licensing details that match your site’s configuration.

59
Chapter 4: UniData RDBMS advanced installation

Click Next to confirm location prior to copying files. Click Back to return to the previous screen. Click
Cancel to exit the installation process without saving changes.

10. Copy files


The installation process now copies files, creates the program group and icons, and updates the
Registry. The following window appears:

60
11. License UniData

Click Next to begin copying files. Click Back to return to the previous screen. Click Cancel to exit the
installation process without saving changes.

11. License UniData


If you wish to authorize the product enable the Authorize UniData Nowprompt and click Next. If you
are not authorizing UniData, skip the next step.

61
Chapter 4: UniData RDBMS advanced installation

12. Authorize UniData


Copy the Configuration Code from this screen and authorize it via the U2 Business Connect website’s
authorization pages. The Windows hotkeys Ctrl+C and Ctrl+V can be used to copy and paste these
keys.

62
13. Complete the installation

13. Complete the installation


When the installation is finished, a window similar to the following appears:

63
Chapter 4: UniData RDBMS advanced installation

Click Finish to complete the installation. Click Back to return to the previous screen.

14. Restart your computer


You must restart your computer before starting a UniData session. A dialog box similar to the
following example may appear:

Select Yes, I want to restart my computer now, and then click OK to restart your
machine. If you want to restart your computer at a later time, click No, I will restart my
computer later, and then click OK.

15. Set library path environment variable


If you are using XML, you must also set your library path. The following table shows the library path
environment variables by platform:

Table 7: Library Path Environment Variables

Platform Library Path Environment Variables


Windows platform PATH=$PATH:$UDTBIN

16. Start a UniData session


From the Start menu, select All Programs, select Rocket U2, select UniData RDBMS 8.1, and then click
UDT to start a UniData session.
You are now ready to license UniData. For information about licensing UniData, see Licensing UniData
products, on page 116.

Note: When you install UniData products, you have a ten day trial period before you must
authorize your configuration with Rocket Software. For the UniData RDBMS, the trial period starts
automatically.

64
Chapter 5: UniData RDBMS concurrent
installation
This chapter is intended for those who are installing UniData Release 8.1 on UNIX or Windows
platforms. These instructions guide you through a concurrent installation process. Use a concurrent
installation when you have a previous version of UniData running on the same machine where you are
installing UniData Release 8.1, and you want to run the two versions concurrently.

Note: Users running different versions of UniData should not try to update the same files at the
same time with both UniData versions. If you want to test your application by installing Release 8.1
concurrently, set up a separate demo database for your testing. Do not try to update live files with
two versions of UniData at the same time.

Considerations for concurrent installations


There are limitations for concurrent execution of UniData 8.1 and previous versions of UniData. These
limitations are discussed in this section.

Static hashed file considerations


Each UniData version uses its own locking mechanism, and the versions do not communicate. If two
versions of UniData access the same files, you could have database integrity problems because a user
can lock a record in one version that was already locked by another version. This should not cause
physical file corruption problems.

Dynamic file considerations


Accessing the same dynamic files from two versions of UniData is not supported for the following
reasons:
▪ Each lock mechanism uses a “scan lock” to prevent dynamic files from splitting and merging
during certain operations. If you access the same file from two versions of UniData, a user process
could trigger a split when they should not be able to. This could result in physical file corruption.
▪ Each versions shared memory manager (smm) keeps its own current modulo table for dynamic
files. With two smm processes, a user could write a record to the wrong group because the modulo
in its smm is wrong. This results in file corruption.

Recoverable file considerations


If you want to run UniData 8.1 with RFS concurrently with a previous version of RFS, consider locating
your log files and archive files on different devices, or at least in different file systems.
The default log file names at UniData 8.1 are the same as they were in previous versions, so you are in
danger of overwriting the log from a previous version if you use the same log directory at UniData 8.1.

65
Chapter 5: UniData RDBMS concurrent installation

Locating the log files and archive files separately for UniData 8.1 is also desirable for distributing I/O
load across your file systems.

Telnet, SSL, and UniRPC considerations


The default port number for the telnet port is 23 when UniData is installed. The default port number
for SSL is 992.
If you are running concurrent installations of UniData, you must change these port numbers for one of
the UniData versions to avoid a conflict and ensure that the port numbers are unique.
The unirpc service (or unirpcd on UNIX) uses port 31438. This port is shared across UniVerse & UniData
versions.

Step-by-step installation on UniData for UNIX


Answers to the prompts in the installation script are kept in the install.param file located in udtbin.
This file contains responses that are most likely inappropriate for your installation after it is loaded
from tape. After you complete the installation process, your responses to the installation prompts are
written to this file.
You may edit the install.param file to customize your installation, then use the customized file as part
of the installation process without having to provide input to the installation prompts. If you want to
use this option, proceed to Installing using the install.param file, on page 75 later in this chapter.
Follow the steps in this section for a concurrent installation. You must log in with root permissions to
perform the installation.

Note: If installing UniData on a Solaris zone, the UUID (Universally Unique Identifier) is required. If
the command zoneadm list -pic returns no value in the 5th field then UniData will become
unlicensed on a reboot of the server. If the UUID is blank, then confirm that the
/etc/zones/index file on the child zone matches the information for this server in the
/etc/zones/index file on the global zone. Following is an example of the command output:

# zoneadm list -pic


4:myhostname:running:/:ae5c8850-64df-e846-f452-e2c81c063064:native:shared

1. Check or create your bin directory


Your current working directory must be the directory where you want the UniData executables
installed. Create the directories for udthome and udtbin, then cd to the directory you have specified
for udtbin. Verify your location by entering pwd. In the following example, the udthome and
udtbin directories are created:

# pwd
/disk1
# mkdir ud81
# cd ud81
# mkdir bin
# cd bin
# pwd/disk1/ud81/bin

66
2. Download the UniData zip file

2. Download the UniData zip file


Download your UniData products from https://u2tc.rocketsoftware.com for the United States and
Canada or https://u2tcint.rocketsoftware.com if not in the United States or Canada. Unzip the UniData
software into the UDTBIN directory and no other location.

3. Enter ./udtinstall
Enter ./udtinstall at the system prompt. This begins the installation process.

International installation
The UNIX LANG environment variable affects the behavior of UniData. Before you install UniData, you
should be aware of the consequences of using a LANG setting other than “C.” If you use a LANG setting
other than “C,” note that certain UniData commands may cause unpredictable results, such as the
UniBasic UPCASE and DOWNCASE commands, and the MCU and MCL conversion codes.
If you are installing UniData in an environment that does not support ASCII characters 250 through
255, and ASCII character 192 as internal markers, read UniData International before proceeding with
the installation.

Tip: We strongly recommend that the value of LANG is consistent for all users. Consider setting the
LANG environment variable in the .profile or .login script.

Choosing a LANG setting


When choosing a LANG setting for your system, make sure the LANG setting you choose is supported
by UniData. To find the supported LANG settings for your system, execute the locale -a command, as
shown in the following example:

# locale -a
C
POSIX
C.iso88591
C.utf8
univ.utf8
ar_DZ.arabic8
ar_SA.arabic8
ar_SA.iso88596
bg_BG.iso88595
cs_CZ.iso88592
da_DK.iso88591
da_DK.roman8
nl_NL.iso88591
nl_NL.roman8...#

During the installation process, UniData changes the LANG environment variable to “C” for installation
processing and displays the following message:

# udtinstall
Welcome to the UniData RDBMS.

67
Chapter 5: UniData RDBMS concurrent installation

http://www.rocketsoftware.com/software/data/u2
WARNING:
-- environment variable LANG is not set to ‘C’
-- it will be set to ‘C’ by Unidata for installation
-- see Unidata Installation Guide for more details
Would you like to continue? [Yes]:

If you press ENTER to accept the default answer of Yes, UniData continues the installation process
using the LANG group of “C.” If desired, you can change your LANG environment variable after
the installation process is complete. If you answer “No” to the above prompt, UniData exits the
installation process.

NonInternational installation
If you are executing a default installation, the following screen appears:

# cd $UDTBIN
#./udtinstall
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
WARNING: If UniData system is still running, it will be
stopped with force. This may not guarantee the consistency of
your database files, so we recommend that you stop the system
with ‘stopud’ before installing/upgrading UniData.
Would you like to continue? [Yes]:

  
Press ENTER to accept the default of Yes if you want to continue with the installation process. If you
do not want to proceed at this time, enter No.

Note: You must enter “Yes” , “yes”, or “YES” and  “No”, “no” or “NO” rather than “Y” or “N” for all
prompts in the installation process.

4. Enter the UDTHOME directory


UniData prompts for the full path of the UDTHOME directory. For the advanced installation, enter the
udthome directory created in step 1:

Enter the full path name of udt home directory [/usr/ud81]:/disk1/ud81


WARNING: The path you selected doesn't equal to UDTHOME. The environment
variable UDTHOME will be ignored and it needs to be changed after the installation.

UniData displays the preceding warning message because the UDTHOME environment variable is not
set. You can set environment variables in step 19 of these instructions.

68
5. Enter the udtwork directory

5. Enter the udtwork directory


The system displays the work directory where it will load the files to rebuild UniData based on the
location of udthome you entered in step 4. If the path UniData displays is correct, press ENTER. If you
want the location of your work directory in another location, enter the full path:

Enter the full path name of work directory [/disk1/ud81/work]:

6. Enter the udtlib directory


This directory contains libraries for all UniData executables. UniData displays the path where it
will load this directory based on the location of udthome you entered in step 4. If the path UniData
displays is correct, press ENTER. If you want the location of the lib directory in another location, enter
the full path:

Enter the full path name of lib directory [/disk1/ud81/lib]:

7. Enter the location of the log files


This directory contains the location where UniData will build the log files for the Recoverable File
System (RFS) based on the location of udthome you entered in step 4. If the path UniData displays is
correct, press ENTER. If you want the log files in another directory, enter the full path. In the following
example, a different path is entered for the log files. You do not have to create the log file directory:

Enter the full path name of log directory [/disk1/ud81/log]:/home/logs

Warning: Make sure the path of the log directory is different that the log directory for the
concurrent version of UniData

8. Enter the location of the unishared directory


The unishared directory contains files necessary for the unircpd daemon. Press ENTER to accept the
default location of udthome/unishared, or enter an alternate path:

Enter the full path name of unishared directory [/disk1/unishared]:

9. Enter a group name


UniData uses the group name associated with the root login name. If the group name displayed is
correct, press ENTER. If the default is not correct, enter the correct group name:

Enter a valid group name for changing files' group [sys]:

69
Chapter 5: UniData RDBMS concurrent installation

10. Enter the serial number


Enter the serial number found on your Software Product Configuration sheet in response to the
following prompt. This information is not required as part of the installation.

Enter the Serial Number displayed on your "Software ProductConfiguration"


sheet: [serial_number]:

For example, if your license number is 12345678-UDT, enter 12345678 without the -UDT extension.

11. Install the recoverable file system


If you do not want to install the Recoverable File System (RFS) at this time, press ENTER to accept the
default of No. You must purchase the RFS product separately. If you are not sure whether you have
purchased RFS, check the Product Configuration Sheet. You can install RFS at a later time without
rerunning the installation process. To enable RFS postinstallation, see Administering the Recoverable
File System.
If you choose to install RFS at this time, enter Yes. The installation process creates a default log
configuration table, creates the log files, and turns on RFS:

Turn on the Recoverable File System? [No]:

12. Install replication


If you do not want to install Replication at this time, press ENTER to accept the default of No. You can
install Replication at a later time without rerunning the installation process. To enable Replication
post-installation, see Using UniData Replication.
If you choose to install Replication at this time, enter Yes. The installation process creates a default
configuration file, creates the log files, and turns on Replication:

Turn on the Replication System? [No]:

13. Back up existing directories


This option does not apply to a basic installation, since it backs up existing UniData 7.2 directories.
Press ENTER to accept the default of No.

Backup the existing directories? [No]:

14. Decide when to authorize UniData


UniData prompts you to indicate whether you want to configure the product at the end of the
installation process. If you enter Yes at this prompt, UniData automatically runs the confprod utility
as part of the installation. If you do not want to configure the product at the end of the installation

70
15. Review input data

process, press ENTER to accept the default of No. UniData will run for 10 days after installation
without requiring authorization.

Config product at the end of installation? [No]:

Warning: When licensing UniData, you must be using a terminal supported by vvtermcap.
vvtermcap is a special UniData termcap-like file located in the udtbin directory. UniData
supports the following terminal types: ANSI, DEC VT100, DEC VT220, VT52, and WYSE 50. If you are
installing UniData from a different type of terminal, do not configure the product at the end of the
installation process.

15. Review input data


UniData displays a summary of the information input at each prompt before proceeding with the
installation. Review the summary carefully. If all the values are correct, press ENTER to accept the
values and proceed with the installation process. If some information is incorrect, enter No. UniData
exits the installation process. You need to restart the installation and make any corrections to prompt
responses.

Summary of your inputs


CheckLang Yes
SaveDir save
OverWrite Yes
Confirm No
StopSys Yes
WorkDir /disk1/ud81/work
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
UnisharedDir /usr/unishared
Group sys
Serial serial_number
RFSflag No
REPflag No
Backup No
ConfProduct No
Are those values correct? [Yes]:

16. Proceed with the installation process


The installation process first makes sure that the version of UniData identified by UDTBIN is not
running. The installation process then changes the file’s ownership to root, and the group name to the
name you specified.
Next, the installation process tests the system configuration by running the systest utility, then creates
the include, ods, lib, sys, demo, work, unishared, and objcall directories.

Using UDTBIN=/disk1/ud81/bin
SM stopped successfully.
CLEANUPD stopped successfully.
SBCS stopped successfully.
SMM stopped successfully.
Unirpcd stopped successfully.
Unidata R8.1 has been shut down.
Changing files' ownership and group name ...

71
Chapter 5: UniData RDBMS concurrent installation

Testing system configuration ...


.
.
.
Creating/Updating /disk1/ud81/include directory...
Creating/Updating /disk1/ud81/ods directory...
Creating/Updating /disk1/ud81/lib directory...
Creating/Updating /disk1/ud81/sys directory...
Creating/Updating /disk1/ud81/demo directory...
Creating/Updating /disk1/ud81/work directory...
Creating/Updating /disk1/ud81/objcall directory...
Checking UNIX system configuration for running UniData ...

17. Authorize UniData


If you answered Yes to the Config product at the end of installation prompt,
UniData automatically runs the confprod utility at this time. Refer to Licensing UniData products, on
page 116 for information about licensing UniData. If you answered No at the Config product at
the end of installation prompt, proceed to the next step. You have 10 calendar days from
the date you install UniData to license the product.
If you authorize UniData as part of the installation process, UniData executes the systest command
again to determine configuration parameters for the number of authorized users. If your kernel
parameters are not adequate to support the number of authorized users, UniData displays messages
similar to the following:

You may not be able to run full number of users sessions (1250)
as configured due to the current semmnu setting (100) in
your Unix system. You need to increase semmnu to 3750 and
rebuild your Unix kernel.
The number of global tables(SHM_GNTBLS) should not be greater than SHMMNI.
No enough message queue identifiers. Please make N_TMQ and N_PGQ
smaller or enlarge MSGMNI.
There's no enough semaphore identifiers in the system. Please
decrease NUSERS or enlarge SEMMNI.
There's no enough semaphore undo structures in the system. Please
decrease NUSERS or enlarge SEMMNU.

If you see messages similar to those in the preceding example, you must change your kernel
parameters before you will be able to start UniData.
See Administering the Recoverable File System for information on RFS configuration parameters and
Administering UniData for information about configuration parameters and system tuning.

18. Choose to release disk space


The installation is now complete. UniData prompts you to save or remove the include, lib, work,
and demo directories from udtbin, as they are not needed in the udtbin directory to run UniData. If
you remove these directories, 10 MB of disk space opens. However, you will need to extract these
directories from the UniData tar file again.

You now have completed the installation process. The following


directories are not required for running udt, you may either
remove them for saving some disk space or keep them there for
the future use:

72
19. Installation complete

/disk1/ud81/bin/include
/disk1/ud81/bin/lib
/disk1/ud81/bin/work
/disk1/ud81/bin/demo
Do you want to save those directories? [Yes]:

19. Installation complete


The installation process is now complete. If you need to authorize UniData at this time, follow the
steps outlined in Licensing UniData products, on page 116. If you licensed UniData in step 17, you
can proceed with the next step.

Install unishared components...


Installed /usr/unishared/icsdk version 2.5.
Installed /usr/unishared/unirpc version 10.0.0.
Installed /usr/unishared/uojsdk version 1.2.
Installed /usr/unishared/jdbc version 1.0.0.
Updating /usr/unishared/sharedby...
Done.
Updating /usr/unishared/unirpc/unirpcservices...
Done.
Congratulations! You have successfully installed/upgraded to
UniData RDBMS 8.1. Run startud to start UniData 8.1.
#

20. Check install.log


The responses to the installation prompts and any messages directed to the terminal screen are
captured in the install.log located in /usr/ud81/bin. Check the install.log to ensure that no error
messages appear in the log. If any error messages appear, correct the indicated problems before
proceeding.

21. Set environment variables


Before you can test the installation by starting UniData and invoking a UniData session, you need to
define the environment variables for udthome and udtbin.The following examples show how to do
this, by using the default names from a basic installation.

From the Bourne or Korn shell:


UDTHOME=/disk1/ud81;export UDTHOME
UDTBIN=/disk1/ud81/bin;export UDTBIN
From the C shell:
% setenv UDTHOME /disk1/ud81
% setenv UDTBIN /disk1/ud81/bin

From the Bash shell:


export UDTHOME=/disk1/ud81
export UDTBIN=/disk1/ud81/bin
export LANG=C

If you are using XML, you must also set your library path. The following table shows the library path
environment variables by platform:

73
Chapter 5: UniData RDBMS concurrent installation

Table 8: Library Path Environment Variables

Platform Library Path Environment Variables


AIX LIBPATH=$LIBPATH:$UDTBIN
HP SHLIB_PATH=$SHLIB_PATH:$UDTBIN
SOLARIS LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
LINUX LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN

22. Run makeudt


If your application links in C routines with CALLC, you need to link the udt executable by running
makeudt now. For information on makeudt, see Administering UniData and Developing UniBasic
Applications.

23. Start UniData


You can now start UniData with the startud command. The following example shows the output from
startud:

# ./startud
Using UDTBIN=/disk1/ud81/bin
All output and error logs have been saved to ./saved_logs directory.
SMM is started.
SBCS is started.
CLEANUPD is started.
Unirpcd is started
#

You can now run UniData. Change directories using the UNIX cd command to the udthome/demo
account. Enter the full path name of the bin directory, followed by the udt command (if you have set
your environment variables, the default is udt, as shown in the following example).

# cd ../demo
# udt

The following screen appears:

UniData Release 8.1 Build: (6101)


(c) Copyright Rocket Software, Inc. 1985-2012.
All rights reserved.
Current UniData home is /disk1/ud81/.
Current working directory is /disk1/ud81/demo.

Note: Before users can access UniData, you must set environment variables for all users. Consider
using a .login or .profile script. You can include the full UniData paths there. You also need to
make sure each user’s path includes the udtbin path. For detailed information about this, see
Administering UniData.

74
24. Move globally cataloged programs

24. Move globally cataloged programs


If you want UniData 8.1 to access globally cataloged programs from a previous release of UniData, you
can copy the /sys/CTLG and /sys/CTLGTB directories from a previous release to UniData 8.1. 
To copy the CTLG and CTLGTB directories from a previous release of UniData, change to the
udthome/sys directory from the previous release of UniData, as shown in the following example:

# cd /disk1/ud81/sys
# pwd
/disk1/ud81/sys

Next, copy the CTLG directory and the CTLGTB file to UniData 8.1:

# cp -r CTLG /disk1/ud81/sys
# cp -r CTLGTB /disk1/ud81/sys

The UniData-supplied programs must be globally cataloged. To accomplish this, start a UniData
session in the udthome/sys directory and execute the INSTALLUDT command, as shown in the
following example:

# cd /disk1/ud81/sys
# udt
UniData Release 8.1 Build: (6101)
(c) Copyright Rocket Software, Inc.
All rights reserved.
Current UniData home is /disk1/ud81/.
Current working directory is /disk1/ud81/sys.
:INSTALLUDT

Installing using the install.param file


If you do not want to answer each prompt during the installation, you can customize the install.param
file located in udthome/bin, then use this file for the prompt responses. The following example
displays the contents of the install.param file before any customization:

# pg install.param
CheckLang Yes
UdtHome /disk2/srcman/alpha/ud_PEAK_981110
WorkDir /disk2/srcman/alpha/ud_PEAK_981110/work
LibDir /disk2/srcman/alpha/ud_PEAK_981110/lib
LogDir /disk2/srcman/alpha/ud_PEAK_981110/log
Serial HPUX11
Group unisrc
StopSys Yes
RFSflag Yes
OverWrite No
Backup No
ConfProduct No
SaveDir save

Use any UNIX text editor to customize the prompt responses listed in the install.param file, or create
your own file with the required responses. In the following example, the paths for UdtHome, WorkDir,
LibDir, and LogDir are customized using /disk1/ud81 as udthome. Group is changed to sys:

# pg install.param
CheckLang Yes

75
Chapter 5: UniData RDBMS concurrent installation

StopSys Yes
UdtHome /disk1/ud81
WorkDir /disk1/ud81/work
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
UnisharedDir /disk1/unishared
Group sys
Serial serial_number
RFSflag No
REPflag No
Backup No
ConfProduct No
OverWrite Yes
Confirm Yes
SaveDir save

Next, execute the udtinstall command with the -f option.


Syntax:

udtinstall -f filename

In the following example, udtinstall is executed by using the install.param file:

# ./udtinstall -f install.param
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
Enter the Serial Number displayed on your "Software Product
Start installing/upgrading UniData RDBMS Release 8.1.
Using UDTBIN=/disk1/ud81/bin
SM has already been stopped.
CLEANUPD has already been stopped.
SMM is not running.
SBCS has already been stopped.
SMM is not running.
Unirpcd has already been stopped
Unidata 8.1 has been shut down.
Changing files’ ownership and group name ...
.
.
.
Creating/Updating /usr/ud81/include directory...
Creating/Updating /disk1/ud81/ods directory...
Creating/Updating /disk1/ud81/lib directory...
Creating/Updating /disk1/ud81/sys directory...
Creating/Updating /disk1/ud81/demo directory...
Creating/Updating /disk1/ud81/work directory...
Creating/Updating /disk1/ud81/objcall directory...
Checking UNIX system configuration for running UniData ...
Update VOC files in /usr/ud81/sys /usr/ud81/demo ...
You now have completed the installation process. The following
directories are not required for running udt, you may either
remove them to save some disk space or keep them there for
future use:
/disk1/ud81/bin/include
/disk1/ud81/bin/lib
/disk1/ud81/bin/work
/disk1/ud81/bin/demo
Install unishared components...
Installed /usr/unishared/icsdk version 2.5.
Installed /usr/unishared/unirpc version 10.1.0.
Updating /usr/unishared/sharedby...

76
Troubleshooting tips

Done.
Updating /usr/unishared/unirpc/unirpcservices...
Done.
Congratulations! You have successfully installed/upgraded to
UniData RDBMS 8.1. Run startud to start UniData 8.1.

You should now complete steps 20 through 23 of the step-by-step installation instructions.

Troubleshooting tips
This section describes the cause of three problems commonly encountered during the UniData
installation.
Problem:
Installation completes, but UniData will not start. In this case, you won’t see the normal message at
the end of the installation.
Cause:
These failures are usually related to a UniData configuration parameter or a UNIX kernel parameter.
Check the smm.errlog file located in udtbin. The most common adjustments are: N_PUTThis UniData
configuration parameter, which controls the size of the system buffer for RFS, has a default value of
8192. You may have to decrease it to 4096, depending on the size of shmmax * shmseg. If this result
is greater than 8 MG, you will have to adjust N_PUT. N_TMQ and N_PGQThese UniData configuration
parameters are numbers of UNIX message queues created for communication between user processes
and the Recoverable File System. By default, each parameter is set to one queue for every four users.
Add these to the ten queues for the other UniData daemons, and adjust the UNIX kernel parameter
msgmni (number of message queues on your system) accordingly. If you can’t increase msgmni,
temporarily reduce N_TMQ and N_PGQ until the kernel can be rebuilt.
Problem:
The smm.errlog contains a message similar to:Exit: smm: cannot allocate semaphore for udtno xx
errno xx Exit: SMM can’t setup Control Table List
Cause:
The number of semaphores available system-wide is not adequate for the number of users on your
system. Increase the kernel parameter defining the number of semaphores available system-wide,
normally semmns, to at least NUSERS + 10. If you cannot rebuild the kernel, you must decrease the
NUSERS parameter in the udtconfig file, located in /usr/ud81/include, until the kernel can be rebuilt.
Problem: 
Message “Warning: As the ‘ranlib’ command is not available for this system, UniData libraries will
not be ready for rebuilding udt. The utilities makeudt and makesvr will not work” is displayed during
installation.
Cause:
This occurs on an AIX system that has not had the Application Development Toolkit installed. This is
not a problem unless your application requires C routines that need to be linked into UniData. This
linking process (makeudt) requires other utilities from this toolkit as well. If you don’t need to link
C routines, ignore these messages. If you need to link C routines, install the AIX Toolkit and rerun
udtinstall.

Note: If you answered the last prompt in udtinstall with exit, you need to reload your UniData tape
first.

Problem:

77
Chapter 5: UniData RDBMS concurrent installation

Shared memory problems when editing large items with Alternative Editor (AE). An example of a
shared memory error is:Error when creating a shared memory segment size=1440416), errno=22 
Cause:
If you experience shared memory errors, see Administering UniData.

Step-by-step installation on UniData for Windows


platforms
Complete the following steps to install UniData 8.1 products for the first time on your Windows
system. If you are upgrading from a previous version of UniData for Windows Platforms, see UniData
RDBMS upgrade installation, on page 81.

1. Log on as an administrator
You must log on with Administrator privileges to install UniData. Either log on to the Administrator
account on the Windows system, or log on as a member of the local Administrators group.

2. Stop current installed services


If you are already using a Telnet service or a serial terminal support service from another vendor, and
you want to install UniData’s Telnet or serial terminal support services, you must stop your existing
services before you proceed with the UniData installation.
Use either the Control Panel or vendor documentation to disable your previously-installed Telnet/
serial terminal support services before proceeding.

Warning: After the installation is complete, you cannot run UniData’s Telnet Service or UniData’s
Serial Terminal Support Service at the same time as other Telnet or Serial terminal support
services. You must stop these services whenever you wish to use the ones you previously installed.

3. Download the UniData zip file


Download the zip file from product from https://u2tc.rocketsoftware.com for the United States and
Canada or https://u2tcint.rocketsoftware.com if not in the United States or Canada. Unzip the UniData
software into the UDTBIN directory and no other location.
Copy the file to some other location on your system, using the UNIX cp command. We suggest that
you copy the file into the directory which will be your UniData bin directory. By default, this is /usr/
ud81/bin

4. Execute the installation


You will see a message that the system is building an InstallShield wizard. Next the Welcome screen
appears.

78
5. Accept license agreement

Click Next to proceed with the installation.

5. Accept license agreement


The Software License Agreement dialog box appears.
If you Agree with the license agreement, click I accept the terms of the license agreement. If you do
not agree with the licens agreement, click I do not accept the terms of the license agreement.

6. Choose destination location for UniData


Verify the location to install UniData and the unishared directory. The default directories are
\U2\ud81, and \U2\unishared.
If you do not want to accept the default, click Browse and choose the directory where you want to
install UniData.
Click Back to return to the previous screen. Click Next to continue with the installation. Click
Cancel to exit the installation process without saving changes.

7. Choose components and directory


The next dialog box allows you to select any or all of the UniData components to install. This
dialog box also displays information about how much disk space you need and how much disk space
is available on the default target partition.
Notice the following points about the Select Components dialog box:
▪ You may install components one at a time if you wish, repeating the installation procedure for each
components or group of components.
▪ As you select or clear components, the Space Required figure changes.
Select the components you want to install, and then click Next to start the installation.
Click Back to return to the previous screen. Click Cancel to exit the installation process without saving
changes.

Note: Do not install the UniData Telnet Service or the UniData Serial Terminal Support Service if
there is a Telnet service or serial terminal support service from another vendor currently running
on your Windows system. Exit the installation, stop any such services, and restart the installation
process. 

8. Choose program folder name


Next, you will be prompted for the folder name for UniData. The default is Rocket U2\UniData
RDBMS 8.1.
Enter the name of the Program Folder for UniData 8.1 if you do not want to accept the default, and
then click Next to continue with the installation process.

79
Chapter 5: UniData RDBMS concurrent installation

Click Back to return to the previous screen. Click Cancel to exit the installation process without saving
changes.

9. Copy files
The installation process now copies files, creates the program group and icons, and updates the
Registry.
Click Next to begin copying files. Click Back to return to the previous screen. Click Cancel to exit the
installation process without saving changes.

10. Complete the installation


When the installation is finished, a window displays.
Click Finish to complete the installation. Click Back to return to the previous screen.

11. Restart your computer


You must restart your computer before starting a UniData session.
Select Yes, I want to restart my computer now, and then click OK to restart your
machine. If you want to restart your computer at a later time, click No, I will restart my
computer later, and then click OK.

12. Set library path environment variable


If you are using XML, you must also set your library path. The following table shows the library path
environment variables by platform:

Table 9: Library Path Environment Variables

Platform Library Path Environment Variables


Windows platforms PATH=$PATH:$UDTBIN

13. Start a UniData session


From the Start menu, select All Programs, select Rocket U2, select UniData RDBMS 8.1, and then click
UDT to start a UniData session.
You are now ready to license UniData. For information about licensing UniData, see Licensing UniData
products, on page 116.

Note: When you install UniData products, you have a ten day trial period before you must
authorize your configuration with Rocket Software. For the UniData RDBMS, the trial period starts
automatically.

80
Chapter 6: UniData RDBMS upgrade installation
This chapter is intended for those who are upgrading to UniData Release 8.1 on UNIX or Windows
platforms.
On UniData for UNIX, answers to the prompts in the installation script are kept in the install.param file
located in udtbin. This file contains responses that are most likely inappropriate for your installation
after it is loaded from tape. After you complete the installation process, your responses to the
installation prompts are written to this file.
You may edit the install.param file to customize your installation, then use the customized file as part
of the installation process without having to provide input to the installation prompts. If you want to
use this option, proceed to Installing using the install.param file, on page 92.

Step-by-step installation on UniData for UNIX


Follow the steps in this section for an upgrade installation. You must log in with root permissions to
perform the installation.

Note: If installing UniData on a Solaris zone, the UUID (Universally Unique Identifier) is required. If
the command zoneadm list -pic returns no value in the 5th field then UniData will become
unlicensed on a reboot of the server. If the UUID is blank, then confirm that the
/etc/zones/index file on the child zone matches the information for this server in the
/etc/zones/index file on the global zone. Following is an example of the command output:

# zoneadm list -pic


4:myhostname:running:/:ae5c8850-64df-e846-f452-e2c81c063064:native:shared

1. Save your make files


In UniData, you can link functions written in the C language to UniBasic programs. You can also use
CallBasic to access UniData from a C application. UniData uses a group of files in the udtwork directory
for these capabilities. The files that are important are: base.mk, callbas.mk, cfuncdef, and, if you are
upgrading from Release 3.3.2 or later, cfundef_user.
Release 8.1 provides new base.mk, cfuncdef, and callbas.mk files in the udtwork directory.
Additionally, some of the libraries from previous releases of UniData have been renamed. The upgrade
installation process installs these new files and libraries, overwriting the files that already exist. Before
you upgrade, make backup copies of these three files. If you are using CALLC or CallBasic, you will
need to relink your application, using the new make files, after the upgrade process is complete.

Note: If you are upgrading from Release 3.3.2 or later and made your modifications to the
cfuncdef_user file, you do not need to make any changes to the cfuncdef file. If you made
modifications to the cfuncdef file in the old version of UniData, these changes should be saved
to the cfuncdef_user file in the udthome/work directory so you will not have to make the same
changes with each upgrade of UniData. See Administering UniData for information about make files
and cfuncdef_user.

81
Chapter 6: UniData RDBMS upgrade installation

2. Check environment variables


When you upgrade to UniData 8.1, you can use the same directories as your old version of UniData, or
you can create a new udtbin directory wherever you choose. If you create a new udtbin directory,
make sure you change the UDTBIN environment variable to the new udtbin, and make sure that the
UDTHOME environment variable is set to the old udthome. To check the environment variables, use
the UNIX printenv command, as shown in the following example:

# printenv
_=/usr/bin/printenv
MANPATH=/usr/share/man/%L:/usr/share/man:/usr/contrib/man/%L:/usr/contrib/man:/u
sr/local/man/%L:/usr/local/man:/opt/upgrade/share/man/%L:/opt/upgrade/share/man:
/usr/dt/share/man:/opt/pd/share/man/%L:/opt/pd/share/man:/opt/ignite/share/man/%
L:/opt/ignite/share/man
PATH=/disk1/ud81/bin:/usr/bin:/usr/sbin:/sbin
.
.
.
UDTHOME=/disk1/ud81
SHELL=/bin/csh
UDTBIN=/disk1/ud81/bin
TERM=vt100
PWD=/disk1/ud81/demo
TZ=MST7MDT
#

If the UDTHOME and UDTBIN environment variables are not set or are set incorrectly, use the following
examples to set them to your existing version of UniData. These examples use /disk1/ud81 as the
location of UDTHOME and /disk1/ud81/bin as the location of UDTBIN. Substitute your paths for
udthome and udtbin.

From the Bourne or Korn shell:


UDTHOME=/disk1/ud81;export UDTHOME
UDTBIN=/disk1/ud81/bin;export UDTBIN
From the C shell:
% setenv UDTHOME /disk1/ud81
% setenv UDTBIN /disk1/ud81/bin

From the Bash shell:


export UDTHOME=/disk1/ud81
export UDTBIN=/disk1/ud81/bin
export LANG=C

If you are using XML, you must also set your library path. The following table shows the library path
environment variables by platform:

Table 10: Library path environment variables

Platform Library path environment variables


AIX LIBPATH=$LIBPATH:$UDTBIN
HP SHLIB_PATH=$SHLIB_PATH:$UDTBIN
SOLARIS LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
LINUX LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN

82
3. Change directories

3. Change directories
Your current working directory must be the udtbin directory you defined in step 2. Change to this
directory and execute the pwd command to check your location.

# cd $UDTBIN
# pwd
/disk1/ud81/bin
#

4. Check for existing users


All current users must log off UniData before you begin the upgrade installation process. Enter the
listuser command for your existing version of UniData. If there are users in UniData, have them log off
now. If listuser does not list any UniData users, you can proceed with the upgrade installation.
In the following example, no users are logged on, and the installation can safely proceed:

# listuser
Licensed/Effective # of Users Udt Sql Total
32 / 32 0 0 0
UDTNO USRNBR UID USRNAME USRTYPE TTY TIME DATE
#

5. Stop UniData
Stop the existing UniData daemons with the stopud command, then verify that all daemons have
been stopped by using the showud command. Be sure to use stopud even if your system seems to be
down to make certain all processes and ipc structures are cleaned up. Do not run UniData during the
upgrade process; doing so could corrupt your UniData software.
In the following example, stopud is executed followed by showud to verify that all daemons have
stopped:

# ./stopud
Using UDTBIN=/disk1/ud81/bin
SM has already been stopped.
CLEANUPD stopped successfully.
SBCS stopped successfully.
SMM stopped successfully.
Unidata R8.1 has been shut down.
# ./showud
UID PID TIME COMMAND
#

6. Download the UniData zip file


Download your UniData products from https://u2tc.rocketsoftware.com for the United States and
Canada or https://u2tcint.rocketsoftware.com if not in the United States or Canada. Unzip the UniData
software into the UDTBIN directory and no other location.

83
Chapter 6: UniData RDBMS upgrade installation

7. Enter ./updatesys
Enter ./updatesys at the system prompt. This begins the upgrade process.

International upgrade
The UNIX LANG environment variable affects the behavior of UniData. Before you upgrade UniData,
you should be aware of the consequences of using a LANG setting other than "C." If you use a LANG
setting other than "C," note that certain UniData commands may cause unpredictable results, such as
the UniBasic UPCASE and DOWNCASE commands, and the MCU and MCL conversion codes.
If you are upgrading UniData in an environment that does not support ASCII characters 192 and 250
through 255 as internal markers, read UniData International before proceeding with the installation.

Tip: We strongly recommend that the value of LANG is consistent for all users. Consider setting the
LANG environment variable in the .profile or .login script.

Choosing a LANG setting


When choosing a LANG setting for your system, make sure the LANG setting you choose is supported
by UniData. To find the supported LANG settings for your system, execute the locale -a command, as
shown in the following example:

# locale -a
C
POSIX
C.iso88591
C.utf8
univ.utf8
ar_DZ.arabic8
ar_SA.arabic8
ar_SA.iso88596
bg_BG.iso88595
cs_CZ.iso88592
da_DK.iso88591
da_DK.roman8
nl_NL.iso88591
nl_NL.roman8
.
.
.
#

During the installation process, UniData changes the LANG environment variable to “C” for installation
processing and displays the following message:

# updatesys
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
WARNING:
-- environment variable LANG is not set to ‘C’
-- it will be set to ‘C’ by Unidata for installation
-- see Unidata Installation Guide for more details
Would you like to continue? [Yes]:

84
NonInternational upgrade

If you press ENTER to accept the default answer of Yes, UniData continues the upgrade process using
the LANG group of "C." If desired, you can change your LANG environment variable after the upgrade is
complete. If you answer No to the above prompt, UniData exits the upgrade process.

NonInternational upgrade
If you are executing a default upgrade, the following screen appears:

# ./updatesys
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
WARNING: If UniData system is still running, it will be
stopped with force. This may not guarantee the consistency of
your database files, so we recommend that you stop the system
with ‘stopud’ before installing/upgrading UniData.
Would you like to continue? [Yes]:

Press ENTER to accept the default of Yes if you want to continue with the upgrade process. If you do
not want to proceed at this time, enter No.

Note: You must enter "Yes", "yes", or "YES" and "No", "no", or "NO" rather than "Y" or "N" for all
prompts in the installation process.

8. Enter the udtwork directory


The system displays the default work directory where it will load the files to rebuild UniData. The
path UniData displays is based on the value of udthome. Press ENTER to accept the default, or enter
another path for the work directory:

Enter the full path name of work directory [/disk1/ud81/work]:

9. Enter the udtlib directory


This directory contains libraries for all UniData executables. The path UniData displays is based on the
value of udthome. Press ENTER to accept the default or enter another path for the lib directory:

Enter the full path name of lib directory [/disk1/ud81/lib]:

10. Enter the location of the log files


This directory contains the location where UniData will build the log files for the Recoverable File
System. The path UniData displays is based on the value of udthome. Press ENTER to accept the
default, or enter another directory path for the log files:

Enter the full path name of log directory [/disk1/ud81/log]:

85
Chapter 6: UniData RDBMS upgrade installation

11. Enter the location of the unishared directory


The unishared directory contains files necessary for the unircpd daemon. Press ENTER to accept the
default location of udthome/unishared, or enter an alternate path:

Enter the full path name of unishared directory


[/disk1/unishared]:

12. Enter a group name


UniData uses the group name associated with the root login as the default. If the group name
displayed is correct, press ENTER. If the default is not correct, enter the correct group name:

Enter a valid group name for changing files' group [sys]:

13. Enter the serial number


Enter the serial number found on your U2 Product Configuration sheet in response to the following
prompt. This information is not required as part of the installation.

Enter the Serial Number displayed on your "Software Product


Configuration" sheet: [serial_number]

For example, if your license number is 12345678-UDT, enter 12345678 without the -UDT extension.

14. Install the recoverable file system


If you do not want to install the Recoverable File System (RFS) at this time, press ENTER to accept the
default of No. You must purchase the RFS product separately. If you are not sure whether you have
purchased RFS, check the Product Configuration Sheet included with your UniData tape. You can
install RFS at a later time without rerunning the installation process. To enable RFS post installation,
see Administering the Recoverable File System.
If you choose to install RFS at this time, enter Yes. The system creates a default log configuration table,
creates the log files, and turns on RFS:

Turn on the Recoverable File System? [No]:

15. Install replication


If you do not want to install Replication at this time, press ENTER to accept the default of No. You can
install Replication at a later time without rerunning the installation process. To enable Replication
post-installation, see Using UniData Replication.

86
16. Back up existing directories

If you choose to install Replication at this time, enter Yes. The installation process creates a default
configuration file, creates the log files, and turns on Replication:

Turn on the Replication System? [No]:

16. Back up existing directories


If you answer Yes to this prompt, the /usr/ud81/include, udthome/work and udthome/
log directories are backed up in a directory called backup in udtbin. If you want to back up these
directories, enter Yes. If you do not want to back up these directories, press ENTER to accept the
default of No.

Backup the existing directories? [No]:

17. Decide when to authorize UniData


UniData prompts whether you want to configure the product at the end of the installation process
or not. If you enter Yes at this prompt, UniData automatically runs the confprod utility as part of
the installation. If you do not want to configure the product at the end of the installation process,
press ENTER to accept the default. UniData will run for 10 days after installation without requiring
authorization.

Config product at the end of installation? [No]:

Warning: When licensing UniData, you must be using a terminal supported by vvtermcap.
vvtermcap is a special UniData termcap-like file located in the udtbin directory. UniData
supports the following terminal types: ANSI, DEC VT100, DEC VT220, VT52 and WYSE 50. If you are
installing UniData from a different type of terminal, do not configure the product at the end of the
installation process.

18. Enter old version number of UniData


In order to set the proper language group, UniData prompts for the previous version of UniData from
which you are upgrading. Valid responses are 16, 23, 31, 33, 40, or 41, 50, 51, 52, 60, 61, 71, 72, or 73.

Enter the UniData version to be upgraded? [73]: 73

19. Review input data


UniData displays a summary of the information input at each prompt before proceeding with the
installation. Review the summary carefully. If all the values are correct, press ENTER to accept the
values and proceed with the installation process. If some information is incorrect, enter No. UniData
exits the installation process. You need to restart the installation and make any corrections to prompt
responses.

Summary of your inputs

87
Chapter 6: UniData RDBMS upgrade installation

CheckLang No
OverWrite Yes
Confirm Yes
SaveDir save
StopSys Yes
WorkDir /disk1/ud81/work
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
UnisharedDir /usr/unishared
Group sys
Serial serial_number
RFSflag Yes
REPflagNo
Backup Yes
ConfProduct No
PreviousVer 73
Are those values correct? [Yes]:

20. Proceed with the installation process


The installation process first makes sure that the version of UniData identified by UDTBIN is not
running. In an upgrade installation, UniData will stop the version of UniData identified by udtbin. The
installation process then changes the file’s ownership to root, and the group name to the name you
specified.
Next, the installation process tests the system configuration by running the systest utility, then
updates the include, ods, lib, sys, demo, work, sybase, and objcall directories.

Start installing/upgrading UniData RDBMS Release 8.1.


Using UDTBIN=/disk1/ud81/bin
SM stopped successfully.
CLEANUPD stopped successfully.
SBCS stopped successfully.
SMM stopped successfully.
Unidata R8.1 has been shut down.
Changing files' ownership and group name ...
Testing system configuration ...
.
.
.
Creating/Updating /disk1/ud81/include directory...
Creating/Updating /disk1/ud81/ods directory...
Creating/Updating /disk1/ud81/lib directory...
Creating/Updating /disk1/ud81/sys directory...
Creating/Updating /disk1/ud81/demo directory...
Creating/Updating /disk1/ud81/work directory...
Creating/Updating /disk1/ud81/objcall directory...
Checking UNIX system configuration for running UniData ...

21. Authorize UniData


If you answered Yes to the Config product at the end of installation prompt,
UniData automatically runs the confprod utility at this time. See Licensing UniData products, on page
116 prompt, proceed to the next step. You have 10 calendar days from the date you install UniData to
license the product.

88
22. Choose to release disk space

If you authorize UniData as part of the installation process, UniData executes the systest command
again to determine configuration parameters for the number of authorized users. If your kernel
parameters are not adequate to support the number of authorized users, UniData displays messages
similar to the following:

You may not be able to run full number of users sessions (1250)
as configured due to the current semmnu setting (100) in
your Unix system. You need to increase semmnu to 3750 and
rebuild your Unix kernel.
The number of global tables(SHM_GNTBLS) should not be greater than SHMMNI.
No enough message queue identifiers. Please make N_TMQ and N_PGQ
smaller or enlarge MSGMNI.
There’s no enough semaphore identifiers in the system. Please decrease
NUSERS or enlarge SEMMNI.
There’s no enough semaphore undo structures in the system. Please
decrease NUSERS or enlarge SEMMNU.

If you see messages similar to those in the preceding example, you must change your kernel
parameters before you will be able to start UniData.
See Administering the Recoverable File System for information on RFS configuration parameters and
Administering UniData for information about configuration parameters and system tuning.

22. Choose to release disk space


UniData prompts you to save or remove the include, lib, work, and demo directories from udtbin,
as they are not needed in the udtbin directory to run UniData. If you remove these directories,
approximately 10 MB of disk space opens. However, you will need to extract these directories from the
UniData tar file again.

You now have completed the installation process. The following


directories are not required for running udt, you may either
remove them for saving some disk space or keep them there for
the future use:
/disk1/ud81/bin/include
/disk1/ud81/bin/lib
/disk1/ud81/bin/work
/disk1/ud81/bin/demo
Do you want to save those directories? [Yes]:

23. Installation complete


The installation process is now complete. If you need to authorize UniData at this time, follow the
steps outlined in Licensing UniData products, on page 116. If you licensed UniData in step 19, you
can proceed with the next step.

Install unishared components...


Installed /usr/unishared/icsdk version 2.5.
Installed /usr/unishared/unirpc version 10.1.0.
Installed /usr/unishared/uojsdk version 1.2.
Installed /usr/unishared/jdbc version 1.0.0.
Updating /usr/unishared/sharedby...
Done.
Updating /usr/unishared/unirpc/unirpcservices...
Done.

89
Chapter 6: UniData RDBMS upgrade installation

Congratulations! You have successfully installed/upgraded to


UniData RDBMS 8.1. Run startud to start UniData 8.1.
#

24. Check environment variables


Before you can test the installation by starting UniData and invoking a UniData session, you need
to ensure that the environment variables for udthome and udtbin are correct. To check your
environment variables, use the UNIX printenv command. Since the environment variables were set in
step 2, they should still be correct.

25. Run makeudt


If your application links in C routines with CALLC, you need to relink the new udt by running makeudt
now. For information on makeudt, see Administering UniData and Developing UniBasic Applications.

26. Start UniData


You can now start UniData with the startud command. The following example shows the output from
startud:

# ./startud
Using UDTBIN=/disk1/ud81/bin
All output and error logs have been saved to ./saved_logs directory.
SMM is started.
SBCS is started.
CLEANUPD is started.
Unirpcd is started
#

You can now run UniData. Change directories using the UNIX cd command to the demo account
located in udthome/demo. Enter the full path of the bin directory, followed by the udt command (if
you have set your environment variables, the default is udt, as shown in the following example). If you
are using device licensing, enter udtts to start a UniData session.

# cd ../demo
# udt

The following screen appears:

UniData Release 8.1 Build: (6101)


(c) Copyright Rocket Software, Inc. 1985-2012
All rights reserved.
Current UniData home is /disk1/ud81/.
Current working directory is /disk1/ud81/demo.

Before users can access UniData, you must set environment variables for all users. Consider using
a .login or .profile script. You can include the full UniData paths there. You will also need to make sure
each user’s path includes the udtbin path. For detailed information about this, see the Administering
UniData manual.

90
27. Run updatevoc

27. Run updatevoc


Run the updatevoc command to update the VOC files in your UniData accounts with new or changed
commands for Release 8.1.
Syntax:

updatevoc [-A] [-C] [-I] [-O] [-N] [-S] [directory]

Description
Run the system-level updatevoc command for each account after you install a new version of UniData.
The command adds new VOC entries to the account. UniData reads the new entries from a file called
VOCUPGRADE, which the upgrade process places in your udtbin directory.
Parameters
The following table describes each parameter of the updatevoc syntax.

Table 11: updatevoc paramaters

Parameter Description
[-A] Traverses all subdirectories.
[-C] Records changes made to existing entries in a file named vocupgrade, in the
directory from which updatevoc was executed.
[-I] Runs interactively, prompting the user for verification when an entry in
VOCUPGRADE will result in changes to an existing entry in the VOC file.
[-O] Updates all VOC entries in VOCUPGRADE, overwriting existing VOC entries
without prompting for verification.
[-N] Records changes not made due to conflicts with existing entries in a file named
vocupgrade, in the directory updatevoc was run from.
[-S] Suppresses informational messages normally displayed after each change to the
VOC file.
[directory] Specifies a directory on which to run updatevoc.

Updating multiple UDTHOME accounts on UniData for


UNIX

1. Set UDTHOME Environment Variable


Set your UDTHOME environment variable to the UniData home you want to upgrade. Substitute
your path for udthome.
From the Bourne or Korn shell: UDTHOME=/disk1/udalt;export UDTHOME From the C shell:%
setenv UDTHOME /disk1/udalt 
From the Bash shell: export UDTHOME=/disk1/udalt

91
Chapter 6: UniData RDBMS upgrade installation

2. Change Directories
Your current working directory must be the directory in which the previous UniData executables
are installed. Change to this directory and execute the pwd command to check your location.

# cd $UDTBIN
# pwd/disk1/ud81/bin
#

3. Begin Upgrade Process


1. Follow steps 7 through 23 of the Step-by-Step Installation instructions, or update UniData using
the install.param file, described in the following section. Make sure you choose the option to save
the include, lib, work, and demo directories in udtbin. If you remove these directories, you will
have to tar the UniData tape again to upgrade your UniData homes.
2. Repeat the preceding three steps for each of the UniData homes you want to upgrade.

Installing using the install.param file


If you do not want to answer each prompt during the upgrade installation, you can customize the
install.param file located in udthome/bin, then use this file for the prompt responses. The following
example displays the contents of the install.param file before any customization:

# pg install.param
UdtHome /disk2/srcman/alpha/ud_PEAK_981110
WorkDir /disk2/srcman/alpha/ud_PEAK_981110/work
LibDir /disk2/srcman/alpha/ud_PEAK_981110/lib
LogDir /disk2/srcman/alpha/ud_PEAK_981110/log
Serial HPUX11
Group unisrc
StopSys Yes
RFSflag Yes
OverWrite No
Backup No
ConfProduct No
SaveDir save

Use any UNIX text editor to customize the prompt responses listed in the install.param file, or create
your own file with the required responses. In the following example, the paths for UdtHome, WorkDir,
LibDir, and LogDir are customized using /disk1/ud81 as udthome. Group is changed to sys:

# pg install.param
CheckLang Yes
StopSys Yes
UdtHome /disk1/ud81
WorkDir /disk1/ud81/work
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
UnisharedDir /usr/unishared
Group sys
Serial serial_number
RFSflag No
REPflag No
Backup No

92
Installing using the install.param file

ConfProduct No
OverWrite Yes
Confirm Yes
SaveDir save

Next, execute the udtinstall command with the -f option. Syntax:

udtinstall -f filename

In the following example, updatesys is executed by using the install.param file:

# ./udtinstall -f install.param
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
Enter the Serial Number displayed on your "Software Product
Start installing/upgrading UniData RDBMS Release 8.1.
Using UDTBIN=/disk1/ud81/bin
SM has already been stopped.
CLEANUPD has already been stopped.
SMM is not running.
SBCS has already been stopped.
SMM is not running.
Unirpcd has already been stopped
Unidata 8.1 has been shut down.
Changing files’ ownership and group name ...
.
.
.
Creating/Updating /usr/ud81/include directory...
Creating/Updating /disk1/ud81/ods directory...
Creating/Updating /disk1/ud81/lib directory...
Creating/Updating /disk1/ud81/sys directory...
Creating/Updating /disk1/ud81/demo directory...
Creating/Updating /disk1/ud81/work directory...
Creating/Updating /disk1/ud81/objcall directory...
Checking UNIX system configuration for running UniData ...
Update VOC files in /disk1/ud81/sys /disk1/ud81/demo ...
You now have completed the installation process. The following
directories are not required for running udt, you may either
remove them to save some disk space or keep them there for
future use:
/disk1/ud81/bin/include
/disk1/ud81/bin/lib
/disk1/ud81/bin/work
/disk1/ud81/bin/demo
Install unishared components...
Installed /usr/unishared/icsdk version 2.5.
Installed /usr/unishared/unirpc version 10.1.0.
Updating /usr/unishared/sharedby...
Done.
Updating /usr/unishared/unirpc/unirpcservices...
Done.
Congratulations! You have successfully installed/upgraded to
UniData RDBMS 8.1. Run startud to start UniData 8.1.

You should now complete steps 24 through 27 of the step-by-step installation instructions.

93
Chapter 6: UniData RDBMS upgrade installation

Troubleshooting tips
This section describes the cause of three problems commonly encountered during the UniData
installation.
Problem:
Installation completes, but UniData will not start.
Cause:
These failures are usually related to a UniData configuration parameter or a UNIX kernel parameter.
Check the smm.errlog file located in udtbin. The most common adjustments are: N_PUT This UniData
configuration parameter, which controls the size of the system buffer for RFS, has a default value of
8192. You may have to decrease it to 4096, depending on the size of shmmax * shmseg. If this result is
greater than 8 MB, you will have to adjust N_PUT. N_TMQ and N_PGQ. These UniData configuration
parameters are numbers of UNIX message queues created for communication between user processes
and the Recoverable File System. By default, each parameter is set to one queue for every four users.
Add these to the ten queues for the other UniData daemons, and adjust the UNIX kernel parameter
msgmni (number of message queues on your system) accordingly. If you can’t increase msgmni,
temporarily reduce N_TMQ and N_PGQ until the kernel can be rebuilt.
Problem:
If the smm.errlog contains a message similar to:

Exit: smm: cannot allocate semaphore for udtno xx errno xx


Exit: SMM can’t setup Control Table List

Cause:
The number of semaphores available system-wide is not adequate for the number of users on your
system. Increase the kernel parameter defining the number of semaphores available system-wide,
normally semmns, to at least NUSERS + 10. If you cannot rebuild the kernel, you must decrease the
NUSERS parameter in the udtconfig file, located in /usr/ud81/include, until the kernel can be rebuilt.
Problem:
Message “Warning: As the ‘ranlib’ command is not available for this system, UniData libraries will
not be ready for rebuilding udt. The utilities makeudt and makesvr will not work” is displayed during
installation.
Cause:
This occurs on an AIX system that has not had the Application Development Toolkit installed. This is
not a problem unless your application requires C routines that need to be linked into UniData. This
linking process (makeudt) requires other utilities from this toolkit as well. If you don’t need to link
C routines, ignore these messages. If you need to link C routines, install the AIX Toolkit and rerun
udtinstall. UniData uses the Visual Age Compiler on AIX not the GNU (gcc) compiler.

Note: If you answered the last prompt in udtinstall with exit, you need to reload your UniData tape
first.

Problem:
Shared memory problems when editing large items with the Alternative Editor (AE). An example of a
shared memory error is:

Error when creating a shared memory segment size=1440416), errno=22

Cause:

94
Step-by-step installation on UniData for Windows platforms

If you experience shared memory errors, see Administering UniData.

Step-by-step installation on UniData for Windows


platforms
You can upgrade your UniData installation for two purposes:
▪ Add components you did not previously install
▪ Install a new version of the entire product

1. Review current configuration


1. When you upgrade your UniData product set, you may lose certain configuration information you
have defined, because the upgrade overwrites existing values. You may lose:
▪ UDTelnet Configuration settings (but not User Profiles)
▪ UDSerial Configuration settings
▪ UniData configuration parameters from the udtconfig file (UDTHOME\include\udtconfig)
▪ ODBC server and database definitions
▪ unirpcservices customization
2. You can preserve the udtconfig changes by making a copy of the udtconfig file before you
upgrade. However, at this release of UniData there is no way to preserve the UDTelnet or UDSerial
configuration settings.

2. Log on as an administrator
You must log on with Administrator privileges to install UniData.

3. Ask users to quit UniData


Start a UniData session and use the ECL LISTUSER command to identify current UniData sessions.
Contact all users and ask them to exit out of UniData. Use LISTUSER to monitor them. When all users
have quit UniData, end your UniData session.

4. Stop UniData with stopud (optional)


Use the stopud command to place UniData in the “nonrunnable” state and prevent users from logging
on during the installation process.

5. Stop current installed services


UniData Services
You do not need to stop any UniData services (for instance, the Telnet or Serial Services) before an
upgrade installation. The installation routine prompts you whether you wish to upgrade these.

95
Chapter 6: UniData RDBMS upgrade installation

Services From Other Vendors


If you are already using a Telnet service or a serial terminal support other than UniData and you want
to install UniData’s Telnet or serial terminal support services, you must stop your existing services
before you proceed with the UniData installation. For the Telnet service it is sufficient to ensure that
both UniData and the other Telnet service do not use the same TCP ports. By default UniData uses
ports 23, 992 and 31438 for its various services.
Use either the Control Panel or vendor documentation to disable your previously-installed Telnet/
serial terminal support services before proceeding.

Warning: After the installation, you will not be able to run UniData’s Telnet Service or UniData’s
Serial Terminal Support Service at the same time as other Telnet or Serial terminal support
services. You must stop these whenever you wish to use the ones you installed previously.

6. Download the UniData zip file


Download your UniData products from https://u2tc.rocketsoftware.com for the United States and
Canada or https://u2tcint.rocketsoftware.com if not in the United States or Canada. Unzip the UniData
software into the UDTBIN directory and no other location.

7. Upgrade UniData
If you want to select new program features to install, or select program features to remove, select
Modify. If you want to reinstall all of the program features from the previous installation, select
Repair.
Follow the instructions in UniData RDBMS advanced installation, on page 42. When the installation
process prompts for the directory where you want to install UniData, enter the path to the directory
installed on your PC that you want to update, as shown in the following example:

96
8. Backup UniData

Note: If you are upgrading your UniData version and you have created indexes on any of the
data files that get installed in the UniData demo account (for instance, CLIENTS), you will
encounter problems if you select Demo Account when you upgrade. The files and indexes won’t
be synchronized, and any attempt to use your indexes will fail. To prevent these problems, either
refrain from upgrading the demo database or remove all the indexes (with the DELETE.INDEX
command) and re-create them after the upgrade.

8. Backup UniData
Starting with UniData 8.1, the windows installation has the ability to backup the current installation
before proceeding with an upgrade.
If upgrading UniData into an existing UniData path, you will see the following:

If you select Yes, the following displays:

97
Chapter 6: UniData RDBMS upgrade installation

9. Choose program folder name


Next, you will be prompted for the folder name for UniData. The default is Rocket U2\UniData
RDBMS 8.1.
Enter the name of the Program Folder for UniData 8.1 if you do not want to accept the default, and
then click Next to continue with the installation process.
Click Back to return to the previous screen. Click Cancel to exit the installation process without saving
changes.

10. Copy files


The installation process now copies files, creates the program group and icons, and updates the
Registry.
Click Next to begin copying files. Click Back to return to the previous screen. Click Cancel to exit the
installation process without saving changes.

11. Complete the installation


When the installation is finished, a window displays.
Click Finish to complete the installation. Click Back to return to the previous screen.

98
12. Update alternate global catalog spaces

12. Update alternate global catalog spaces


At this point, you may upgrade globally cataloged programs released by UniData in one or more
alternate "UDTHOME" directories (created with the newhome command).
If you have one or more UniData home directories and you wish to update the global catalog to
reflect changes in the programs released by UniData, from the MS-DOS command prompt, change
your current directory to the appropriate alternate UniData home directory, and then execute the
updatesys command. Perform this procedure for each alternate UniData home directory you want to
update. For information about the updatesys command, see the UniData Commands Reference.

Warning: Do not set your UDTHOME environment variable to the UniData home you want to
upgrade.

13. Set library path environment variable


If you are using XML, you must also set your library path. The following table shows the library path
environment variables by platform:

Table 12: Library path environment variables

Platform Library Path Environment Variables


Windows PATH=$PATH:$UDTBIN
platforms

14. Start UniData with startud


If you stopped UniData in step 4, execute the startud command at the MS-DOS command prompt to
set UniData to a runnable state.

15. Start a UniData Session


The UniData program group contains icons for the components of the UniData product. To execute a
component, click the appropriate icon.
You are now ready to license UniData. For information about licensing UniData, see Licensing UniData
products, on page 116.

Note: When you install UniData products, you have a ten day trial period before you must
authorize your configuration with Rocket Software. For the UniData RDBMS, the trial period starts
automatically.

16. Restore using the backup functionality


If you used the Backup functionality, restore doing the following:

99
Chapter 6: UniData RDBMS upgrade installation

In the $UDTHOME\backups\ud_version directory (path given in the backup screen), execute the
UDRestore.exe file. The startup Welcome screen displays. Click Next and the following displays:

The Installation screens display, beginning with selecting the Destination Path.

100
Chapter 7: UniData RDBMS patch installation
This chapter is intended for those who are installing a patch release of UniData Release 8.1 on a UNIX
platform.
Answers to the prompts in the installation script are kept in the install.param file located in udtbin.
This file contains responses that are most likely inappropriate for your installation after it is loaded
from tape. You may edit the install.param file to customize your installation, then use the customized
file as part of the installation process without having to provide input to the installation prompts. If
you want to use this option, proceed to Installing using the install.param file, on page 113.
After you complete the installation process, your responses to the installation prompts are written to
this file.

Patch installation considerations


Although you can run UniData 8.1 concurrently with previous versions of UniData, such as Release
7.2 and Release 7.1, you cannot run two versions of UniData 8.1 simultaneously. A patch installation
overwrites the existing version UniData 8.1 on your system.

Overwritten files
A patch installation overwrites the following files and/or directories:
▪ The contents of udtbin.
▪ The udtconfig file located in /usr/ud81/include.
▪ The logconfig file located in /usr/ud81/include.
▪ The arch_backup and arch_restore files located in /usr/ud81/include.
▪ The contents of the /usr/ud81/ods directory.
▪ The base.mk, cfuncdef, and callbas.mk files in udthome/work.
▪ The files provided by UniData in the udthome/demo directory (for example, the CLIENTS,
ORDERS, and INVENTORY files).
▪ The log files, if you are running the Recoverable File System.
During the patch installation process, you have the opportunity to choose whether to back up the /
usr/ud81/include, udthome/work and udthome/log directories as part of the upgrade process.
If you choose to backup these files, UniData creates a directory called backup in udtbin, which
contains the include, log, and work directories as they existed before the upgrade process started. You
may want to additionally backup these files in an area outside of the UniData directory structure in
case you have to rerun the upgrade process.
If you want to restore a file that was saved in the backup directory, you can copy the file from the
udtbin/backup directory to the current file. In the following example, the udtconfig file is copied
from the backup directory to /usr/ud81/include using the UNIX cp command:

# pwd
/usr/ud81/include
# cp /disk1/ud81/bin/backup/include/udtconfig udtconfig
#

In addition to the backup directory, a copy of the udtconfig file, called udtconfig.bak, is written to
usr/ud81/include directory. The upgrade process also prompts you to indicate whether or

101
Chapter 7: UniData RDBMS patch installation

not you want to overwrite the existing udthome/work directory. If you have linked C routines with
UniData, do not overwrite the directory during the upgrade process.

Updated files
A patch installation updates the following files and/or directories:
▪ The VOC file in each UniData account after running updatevoc.
▪ The global catalog space located in udthome/sys.
You do not have to recompile or recatalog your globally cataloged programs after a patch installation.

Step-by-step installation
Follow the steps in this section for a patch installation. You must log on with root permissions to
perform the installation.

Note: If installing UniData on a Solaris zone, the UUID (Universally Unique Identifier) is required. If
the command zoneadm list -pic returns no value in the 5th field then UniData will become
unlicensed on a reboot of the server. If the UUID is blank, then confirm that the
/etc/zones/index file on the child zone matches the information for this server in the
/etc/zones/index file on the global zone. Following isan example of the command output:

# zoneadm list -pic


4:myhostname:running:/:ae5c8850-64df-e846-f452-e2c81c063064:native:shared

1. Save your make files


In UniData, you can link functions written in the C language to UniBasic programs. You can also use
CallBasic to access UniData from a C application. UniData uses a group of files in the udtwork directory
for these capabilities. The files that are important are base.mk, new.mk, callbas.mk, cfuncdef, and
cfundef_user.
UniData 8.1 provides new base.mk, cfuncdef, and callbas.mk files in the udtwork directory. The patch
installation process installs these new files and libraries, overwriting the files that already exist.
Either choose the option to backup existing directories during that patch installation, or, before you
upgrade, make backup copies of these three files. If you are using CALLC or CallBasic, you will need to
relink your application using the new make files after the patch installation is complete.

Note: If you made your modifications to the cfuncdef_user file in your previous version of
UniData 8.1, you do not need to make any changes to the cfuncdef file. If you made modifications
to the cfuncdef file in the previous version of UniData, these changes should be saved to the
cfuncdef_user file in the udthome/work directory so you will not have to make the same changes
with each upgrade of UniData. See Administering UniData for information about make files and
cfuncdef_user.

102
2. Check environment variables

2. Check environment variables


When you install a patch release of UniData 8.1, you use the same directories as your previous version
of UniData, since the patch release of UniData 8.1 replaces your previous version of UniData 8.1. Check
the environment variables and make sure they are set to the correct paths to the previous version of
UniData 8.1. To check the environment variables, use the UNIX printenv command, as shown in the
following example:

# printenv
MANPATH=/usr/share/man/%L:/usr/share/man:/usr/contrib/man/%L:/usr/contrib/
man:/usr/local/man/%L:/usr/local/man:/opt/pd/share/man/%L:/opt/pd/share/
man:/opt/hpnp//man:/opt/graphics/starbase/share/man:/opt/audio/share/
man:/opt/blinklink/share/man:/opt/ansic/share/man/
%L:/opt/ansic/share/man:/opt/langtools/share/man/
%L:/opt/langtools/share/man:/opt/video/share/
man:/opt/videoout/share/man:/opt/image/share/
man:/opt/imake/man:/opt/aCC/share/man:/opt/CC/share/man
PATH=/disk1/ud81/bin:/usr/bin:/usr/sbin:/sbin
COLUMNS=80
.
.
.
UDTHOME=/disk1/ud81
SHELL=/bin/csh
UDTBIN=/disk1/ud81/bin

If the UDTHOME and UDTBIN environment variables are not set or are set incorrectly, use the following
examples to set them to your existing version of UniData. These examples use /disk1/ud81 as
the location of UDTHOME and /disk1/ud81/bin as the location of UDTBIN. Substitute your paths for
udthome and udtbin.

From the Bourne or Korn shell:


UDTHOME=/disk1/ud81;export UDTHOME
UDTBIN=/disk1/ud81/bin;export UDTBIN
From the C shell:
% setenv UDTHOME /disk1/ud81
% setenv UDTBIN /disk1/ud81/bin

From the Bash shell:


export UDTHOME=/disk1/ud81
export UDTBIN=/disk1/ud81/bin
export LANG=C

If you are using XML, you must also set your library path. The following table shows the library path
environment variables by platform:

Table 13: Library path environment variables

Platform Library Path Environment Variables


AIX LIBPATH=$LIBPATH:$UDTBIN
HP SHLIB_PATH=$SHLIB_PATH:$UDTBIN
SOLARIS LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
LINUX LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN

103
Chapter 7: UniData RDBMS patch installation

3. Change directories
Your current working directory must be the directory where the previous UniData executables are
installed. Change to this directory and execute the pwd command to check your location.

# cd $UDTBIN
# pwd
/disk1/ud81/bin
#

4. Check for existing users


All current users must log off UniData before you begin the patch installation process. Enter the
listuser command to check for users logged on to UniData. If there are users in UniData, have them log
off now. If listuser does not list any UniData users, you can proceed with the patch installation.
In the following example, no users are logged on, and the patch installation can safely proceed:

# listuser
Licensed/Effective # of Users Udt Sql Total
32 / 32 0 0 0
UDTNO USRNBR UID USRNAME USRTYPE TTY TIME DATE
#

5. Stop UniData
Stop the existing UniData daemons with the stopud command, then verify that all daemons have been
stopped by using the showud command. Be sure to use stopud even if your system seems to be down
to make certain all processes and ipc structures are cleaned up. Do not run UniData during the patch
installation process; doing so could corrupt your UniData software.
In the following example, stopud is executed followed by showud to verify that all daemons have
stopped:

# ./stopud
Using UDTBIN=/disk1/ud81/bin
SM stopped successfully.
CLEANUPD stopped successfully.
SBCS stopped successfully.
SMM stopped successfully.
Unirpcd has already been stopped
Unidata R8.1 has been shut down.
# ./showud
UID PID TIME COMMAND
#

104
6. Download the UniData zip file

6. Download the UniData zip file


Download your UniData products from https://u2tc.rocketsoftware.com for the United States and
Canada or https://u2tcint.rocketsoftware.com if not in the United States or Canada. Unzip the UniData
software into the UDTBIN directory and no other location.

7. Enter ./updatesys
Enter ./updatesys at the system prompt. This begins the patch installation process.

International installation
The UNIX LANG environment variable affects the behavior of UniData. Before you install UniData, you
should be aware of the consequences of using a LANG setting other than “C.” If you use a LANG setting
other than “C,” note that certain UniData commands may cause unpredictable results, such as the
UniBasic UPCASE and DOWNCASE commands, and the MCU and MCL conversion codes.
If you are installing UniData in an environment that does not support ASCII characters 250 through
255, and ASCII character 192 as internal markers, read UniData International before proceeding with
the installation.

Note: We strongly recommend that the value of LANG is consistent for all users. Consider setting
the LANG environment variable in the .profile or .login script.

Choosing a LANG setting


When choosing a LANG setting for your system, make sure the LANG setting you choose is supported
by UniData. To find the supported LANG settings for your system, execute the locale -a command, as
shown in the following example:

# locale -a
C
POSIX
C.iso88591
C.utf8
univ.utf8
ar_DZ.arabic8
ar_SA.arabic8
ar_SA.iso88596
bg_BG.iso88595
cs_CZ.iso88592
da_DK.iso88591
da_DK.roman8
nl_NL.iso88591
nl_NL.roman8
.
.
.
#

During the installation process, UniData changes the LANG environment variable to “C” for installation
processing and displays the following message:

# udtinstall
Welcome to the UniData RDBMS.

105
Chapter 7: UniData RDBMS patch installation

http://www.rocketsoftware.com/software/data/u2
WARNING:
-- environment variable LANG is not set to ‘C’
-- it will be set to ‘C’ by Unidata for installation
-- see Unidata Installation Guide for more details
Would you like to continue? [Yes]:

If you press ENTER to accept the default answer of Yes, UniData continues the installation process
using the LANG group of "C." If desired, you can change your LANG environment variable after the
installation process is complete. If you answer No to the above prompt, UniData exits the installation
process.

NonInternational installation
If you are executing a default installation, the following screen appears:

# ./updatesys
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
WARNING: If UniData system is still running, it will be
stopped with force. This may not guarantee the consistency of
your database files, so we recommend that you stop the system
with ‘stopud’ before installing/upgrading UniData.
Would you like to continue? [Yes]:

Press ENTER to accept the default of Yes if you want to continue with the installation process. If you
do not want to proceed at this time, enter No.

Note: You must enter “Yes” , “yes”, or “YES” and  “No”, “no” or “NO” rather than “Y” or “N” for all
prompts in the installation process.

8. Enter the udtwork directory


The system displays the default work directory where it will load the files to rebuild UniData. The
path UniData displays is based on the value of udthome. Press ENTER to accept the default, or enter
another path for the work directory:

Enter the full path name of work directory [/disk1/ud81/work]:

9. Enter the udtlib directory


This directory contains libraries for all UniData executables. The path UniData displays is based on the
value of udthome. Press ENTER to accept the default or enter another path for the lib directory:

Enter the full path name of lib directory [/disk1/ud81/lib]:

106
10. Enter the location of the log files

10. Enter the location of the log files


This directory contains the location where UniData will build the log files for the Recoverable File
System. The path UniData displays is based on the value of udthome. Press ENTER to accept the
default, or enter another directory path for the log files:

Enter the full path name of log directory [/disk1/ud81/log]:

11. Enter the location of the unishared directory


The unishared directory contains files necessary for the unircpd daemon. Press ENTER to accept the
default location of udthome/unishared, or enter an alternate path:

Enter the full path name of unishared directory [/disk1/unishared]:

12. Enter a group name


UniData uses the group name associated with the root login as the default. If the group name
displayed is correct, press ENTER. If the default is not correct, enter the correct group name:

Enter a valid group name for changing files' group [sys]:

13. Enter the serial number


Enter the serial number found on your U2 Product Configuration sheet in response to the following
prompt. This information is not required as part of the installation.

Enter the Serial Number displayed on your "Software Product Configuration"


sheet: [serial_number]

For example, if your license number is 12345678-UDT, enter 12345678 without the -UDT extension.

14. Install the recoverable file system


If you do not want to install the Recoverable File System (RFS) at this time, press ENTER to accept the
default of No. You must purchase the RFS product separately. If you are not sure whether you have
purchased RFS, check the Product Configuration Sheet included with your UniData tape. You can
install RFS at a later time without rerunning the installation process. To enable RFS post installation,
see Administering the Recoverable File System.
If you choose to install RFS at this time, enter Yes. The system creates a default log configuration table,
creates the log files, and turns on RFS:

Turn on the Recoverable File System? [No]:

107
Chapter 7: UniData RDBMS patch installation

15. Install replication


If you do not want to install Replication at this time, press ENTER to accept the default of No. You can
install Replication at a later time without rerunning the installation process. To enable Replication
post-installation, see Using UniData Replication.
If you choose to install Replication at this time, enter Yes. The installation process creates a default
configuration file, creates the log files, and turns on Replication:

Turn on the Replication System? [No]:

16. Back up existing directories


If you answer Yes to this prompt, the /usr/ud81/include, udthome/work and udthome/
log directories are backed up in a directory called backup in udtbin. If you want to back up these
directories, enter Yes. If you do not want to back up these directories, press ENTER to accept the
default of No.

Backup the existing directories? [No]:


Yes

17. Decide when to authorize UniData


UniData prompts whether you want to configure the product at the end of the installation process
or not. If you enter Yes at this prompt, UniData automatically runs the confprod utility as part of
the installation. If you do not want to configure the product at the end of the installation process,
press ENTER to accept the default. UniData will run for 10 days after installation without requiring
authorization.

Config product at the end of installation? [No]:

Warning: When licensing UniData, you must be using a terminal supported by vvtermcap.
vvtermcap is a special UniData termcap-like file located in the udtbin directory. UniData
supports the following terminal types: ANSI, DEC VT100, DEC VT220, VT52 and WYSE 50. If you are
installing UniData from a different type of terminal, do not configure the product at the end of the
installation process.

18. Back up work directory


If the work directory you entered in step 8 already exists, UniData prompts whether or not you want to
overwrite this directory. If you have already linked your C routines with UniData, do not overwrite the
work directory during the patch installation.

/disk1/ud81/work exists, overwrite it? [Yes]:


no

108
19. Enter old version number of UniData

19. Enter old version number of UniData


In order to set the proper language group, UniData prompts for the previous version of UniData from
which you are upgrading. For a patch installation, press ENTER to accept the default of 73.

Enter the UniData version to be upgraded? [73]:

20. Review input data


UniData displays a summary of the information input at each prompt before proceeding with the
installation. Review the summary carefully. If all the values are correct, press ENTER to accept the
values and proceed with the installation process. If some information is incorrect, enter No. UniData
exits the installation process. You need to restart the installation and make any corrections to prompt
responses.

Summary of your inputs


CheckLang No
OverWrite Yes
Confirm Yes
SaveDir save
StopSys Yes
WorkDir /disk1/ud81/work
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
UnisharedDir /usr/unishared
Group sys
Serial serial_number
RFSflag Yes
REPflag No
Backup Yes
ConfProduct No
PreviousVer 73
Are those values correct? [Yes]:

21. Proceed with the installation process


The installation process first makes sure that the version of UniData identified by udtbin is not
running. In an patch installation, UniData will stop the version of UniData identified by udtbin. The
installation process then changes the file’s ownership to root, and the group name to the name you
specified.
Next, the patch installation process tests the system configuration by running the systest utility, then
updates the include, ods, lib, sys, demo, work, unishared, and objcall directories.

22. Authorize UniData


If you answered Yes to the Config product at the end of installation prompt,
UniData automatically runs the confprod utility at this time. See Licensing UniData products, on page
116 for information about licensing UniData. If you answered No at the Config product at
the end of installationprompt, proceed to the next step. You have 10 calendar days from
the date you install UniData to license the product.

109
Chapter 7: UniData RDBMS patch installation

If you authorize UniData as part of the installation process, UniData executes the systest command
again to determine configuration parameters for the number of authorized users. If your kernel
parameters are not adequate to support the number of authorized users, UniData displays messages
similar to the following:

You may not be able to run full number of users sessions (1250)
as configured due to the current semmnu setting (100) in
your Unix system. You need to increase semmnu to 3750 and
rebuild your Unix kernel.
The number of global tables(SHM_GNTBLS) should not be greater than SHMMNI.
No enough message queue identifiers. Please make N_TMQ and N_PGQ
smaller or enlarge MSGMNI.
There’s no enough semaphore identifiers in the system. Please
decrease NUSERS or enlarge SEMMNI.
There’s no enough semaphore undo structures in the system. Please
decrease NUSERS or enlarge SEMMNU.

If you see messages similar to those in the preceding example, you must change your kernel
parameters before you will be able to start UniData.
See Administering the Recoverable File System for information on RFS configuration parameters and
Administering UniData for information about configuration parameters and system tuning.

23. Choose to release disk space


The patch installation is now complete. UniData prompts you to save or remove the include, lib, work,
and demo directories from udtbin, as they are not needed in the udtbin directory to run UniData. If
you remove these directories, 10 MB of disk space opens. However, you will need to extract these
directories from the UniData tar file again.

You now have completed the installation process. The following


directories are not required for running udt, you may either
remove them for saving some disk space or keep them there for
the future use:
/disk1/ud81/bin/include
/disk1/ud81/bin/lib
/disk1/ud81/bin/work
/disk1/ud81/bin/demo
Do you want to save those directories? [Yes]:

24. Installation complete


The patch installation process is now complete. If you need to authorize UniData at this time, follow
the steps outlined inLicensing UniData products, on page 116. If you licensed UniData in step 22, you
can proceed with the next step.

Congratulations! You have successfully installed/upgraded to


UniData RDBMS 8.1. Run startud to start UniData 8.1.
#

110
25. Check environment variables

25. Check environment variables


Before you can test the installation by starting UniData and invoking a UniData session, you need
to ensure that the environment variables for udthome and udtbin are correct. To check your
environment variables, use the UNIX printenv command. Since the environment variables were set in
step 2, they should still be correct.

26. Run makeudt


If your application links in C routines with CALLC, you need to relink the new udt by running makeudt
now. For information on makeudt, see Administering UniData and Developing UniBasic Applications.

27. Copy saved files


If you want to restore any of the files that were saved in the udtbin/backup directory, copy them using
the UNIX cp command. In the following example, the udtconfig file backed up in udtbin/backup is
copied to /usr/ud81/include/udtconfig:

# cp /disk1/ud81/bin/backup/include/udtconfig
/usr/ud81/include/udtconfig
#

28. Run cntl_install


If you are running the Recoverable File System, make sure the logconfig file is adequate to meet your
needs. The logconfig file located in /usr/ud81/include is overwritten during a patch installation. Either
restore a backup copy of the logconfig file or edit the logconfig file using any UNIX text editor. Then,
run cntl_install to reinitialize your log files.

# cntl_install
cntl_install utility resets Unidata System
after a full database backup (Image Copy).
This means, all log (and archive) files will
also be initialized for re-use.
Do you want to continue?(y/n) [n] y
Installing Logs (and Archives) after cntl_install
........
#

Note: If you are running UniData with archiving enabled, you do not have to restore or edit the
archconfig file, since it is not overwritten by the patch installation.

111
Chapter 7: UniData RDBMS patch installation

29. Start UniData


You can now start UniData with the startud command. The following example shows the output from
startud:

# ./startud
Using UDTBIN=/disk1/ud81/bin
All output and error logs have been saved to ./saved_logs directory.
SMM is started.
SBCS is started.
CLEANUPD is started.
Unirpcd is started
#

You can now run UniData. Change directories using the UNIX cd command to the demo account
located in udthome/demo. Enter the full path name of the bin directory, followed by the udt
command (if you have set your environment variables, the default is udt, as in the following example).

# cd ../demo
# udt

The following screen appears:

UniData Release 8.1 Build: (6101)


(c) Copyright Rocket Software, Inc. 1985-2012.
All rights reserved.
Current UniData home is /usr/ud81/.
Current working directory is /usr/ud81/demo.

Note: Before users can access UniData, you must set environment variables for all users. Consider
using a .login or .profile script. You can include the full UniData paths there. You will also need to
make sure each user’s path includes the udtbin path. For detailed information, see Administering
UniData.

30. Run updatevoc


Run the updatevoc command to update the VOC files in your UniData accounts with new or changed
commands for Release 8.1.
Syntax:

updatevoc [-A] [-C] [-I] [-O] [-N] [-S] [directory]

Description
The system-level updatevoc command should be run for each account after you install a new version
of UniData. The command adds new VOC entries to the account. The system reads the new entries
from a file called VOCUPGRADE, which the upgrade process places in your udtbin directory.
Parameters
The following table describes each parameter of the updatevoc syntax.

112
Installing using the install.param file

Table 14: updatevoc Parameters

Parameter Description
[-A] Traverses all subdirectories.
[-C] Records changes made to existing entries in a file named vocupgrade, in the
directory updatevoc was run from.
[-I] Runs interactively, prompting the user for verification when an entry in
VOCUPGRADE will result in changes to an existing entry in the VOC file.
[-O] Updates all VOC entries in VOCUPGRADE, overwriting existing VOC entries
without prompting for verification.
[-N] Records changes not made due to conflicts with existing entries in a file named
vocupgrade, in the directory updatevoc was run from.
[-S] Suppresses informational messages normally displayed after each change to the
VOC file.
[directory] Specifies a directory on which to run updatevoc.

Installing using the install.param file


If you do not want to answer each prompt during the patch installation, you can customize the
install.param file located in udthome/bin, then use this file for the prompt responses. The following
example displays the contents of the install.param file before any customization:

# pg install.param
UdtHome /disk2/srcman/alpha/ud_PEAK_981110
WorkDir /disk2/srcman/alpha/ud_PEAK_981110/work
LibDir /disk2/srcman/alpha/ud_PEAK_981110/lib
LogDir /disk2/srcman/alpha/ud_PEAK_981110/log
Serial HPUX11
Group unisrc
StopSys Yes
RFSflag Yes
OverWrite No
Backup No
ConfProduct No
SaveDir save

Use any UNIX text editor to customize the prompt responses listed in the install.param file, or create
your own file with the required responses. In the following example, the paths for UdtHome, WorkDir,
LibDir, and LogDir are customized using /disk1/ud81 as udthome. Group is changed to sys:

# pg install.param
CheckLang Yes
StopSys Yes
UdtHome /disk1/ud81
WorkDir /disk1/ud81/work
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
UnisharedDir /disk1/unishared
Group sys
Serial serial_number
RFSflag No
REPflag No
Backup No
ConfProduct No
OverWrite Yes
Confirm Yes

113
Chapter 7: UniData RDBMS patch installation

SaveDir save

Next, execute the updatesys command with the -f option. Syntax:

updatesys -f filename

In the following example, updatesys is executed by using the install.param file:

# ./updatesys -f install.param
Welcome to the UniData RDBMS.
http://www.rocketsoftware.com/software/data/u2
Enter the Serial Number displayed on your "Software Product
Start installing/upgrading UniData RDBMS Release 8.1.
Using UDTBIN=/disk1/ud81/bin
SM has already been stopped.
CLEANUPD has already been stopped.
SMM is not running.
SBCS has already been stopped.
SMM is not running.
Unirpcd has already been stopped
Unidata 8.1 has been shut down.
Changing files’ ownership and group name ...
.
.
.
Creating/Updating /usr/ud81/include directory...
Creating/Updating /disk1/ud81/ods directory...
Creating/Updating /disk1/ud81/lib directory...
Creating/Updating /disk1/ud81/sys directory...
Creating/Updating /disk1/ud81/demo directory...
Creating/Updating /disk1/ud81/work directory...
Creating/Updating /disk1/ud81/objcall directory...
Checking UNIX system configuration for running UniData ...
Update VOC files in /usr/ud81/sys /usr/ud81/demo ...
You now have completed the installation process. The following directories
are not required for running udt, you may eitherremove them to save some
disk space or keep them there forfuture use:
/disk1/ud81/bin/include
/disk1/ud81/bin/lib
/disk1/ud81/bin/work
/disk1/ud81/bin/demo
Install unishared components...
Installed /usr/unishared/icsdk version 2.5.
Installed /usr/unishared/unirpc version 10.1.0.
Updating /usr/unishared/sharedby...
Done.
Updating /usr/unishared/unirpc/unirpcservices...
Done.
Congratulations! You have successfully installed/upgraded to
UniData RDBMS 8.1. Run startud to start UniData 8.1.

You should now complete steps 25 through 30 of the step-by-step installation instructions.

Troubleshooting tips
This section describes the cause of three problems commonly encountered during the UniData
installation.
Problem:

114
Troubleshooting tips

Installation completes, but UniData will not start.


Cause:
These failures are usually related to a UniData configuration parameter or a UNIX kernel parameter.
Check the smm.errlog file located in udtbin. The most common adjustments are:
N_PUT
This UniData configuration parameter, which controls the size of the system buffer for RFS, has
a default value of 8192. You may have to decrease it to 4096, depending on the size of shmmax *
shmseg. If this result is greater than 8 MB, you will have to adjust N_PUT.
N_TMQ and N_PGQ
These UniData configuration parameters are numbers of UNIX message queues created for
communication between user processes and the Recoverable File System. By default, each parameter
is set to one queue for every four users. Add these to the ten queues for the other UniData daemons,
and adjust the UNIX kernel parameter msgmni (number of message queues on your system)
accordingly. If you cannot increase msgmni, temporarily reduce N_TMQ and N_PGQ until the kernel
can be rebuilt.
Problem:
The smm.errlog contains a message similar to:
Exit: smm: cannot allocate semaphore for udtno xx errno xx
Exit: SMM can’t setup Control Table List
Cause:
The number of semaphores available system-wide is not adequate for the number of users on your
system. Increase the kernel parameter defining the number of semaphores available system wide,
normally semmns, to at least NUSERS + 10. If you cannot rebuild the kernel, you must decrease the
NUSERS parameter in the udtconfig file, located in /usr/ud81/include, until the kernel can be rebuilt.
Problem:
Message “Warning: As the ‘ranlib’ command is not available for this system, UniData libraries will
not be ready for rebuilding udt. The utilities makeudt and makesvr will not work” is displayed during
installation.
Cause:
This occurs on an AIX system that has not had the Application Development Toolkit installed. This is
not a problem unless your application requires C routines that need to be linked into UniData. This
linking process (makeudt) requires other utilities from this toolkit as well. If you don’t need to link
C routines, ignore these messages. If you need to link C routines, install the AIX Toolkit and rerun
udtinstall. If you answered the last prompt in udtinstall with exit, you need to reload your UniData
tape first.
Problem:
Shared memory problems when editing large items with the Alternative Editor (AE). An example of a
shared memory error is: Error when creating a shared memory segment size=1440416), errno=22
Cause:
If you experience shared memory errors, see Administering UniData.

115
Chapter 8: Licensing UniData products
This chapter covers licensing UniData after you have installed it. This chapter covers the following
topics:
▪ Information about licensing.
▪ Licensing steps.
▪ The confprod program.
▪ The udtconf program.

About licensing
The licensing process allows you to define a software license expiration date based on the license
you purchase. UniData begins to issue warnings to the console every hour, beginning 10 days before
the expiration date. This warning process and the grace period allow you to get a new authorization
before UniData terminates.

Types of UniData licenses


Rocket Software offers the following types of licenses for the UniData product:
▪ The UniData Workstation edition is for a single user license on Windows platforms, and Linux using
1–2 Intel processors. This edition includes device licensing.
▪ The UniData Workgroup edition is for 3–24 users on Windows platforms or Linux using 1–2 Intel-
based processors.
▪ The UniData Server edition is for 4 users or more on any platform. Device licensing is not available
with the UniData Server edition, unless purchased on a per-additional-seat basis as an add-on
option.
▪ The UniData Enterprise edition is for 25 or more users on any platform. This edition includes Device
Licensing.

UniData device licensing


UniData Device LicensingDevice licensing enables you to have multiple UniData sessions from
the same device, normally your PC, while consuming only one UniData license. UniData sessions
can be connections through client/server middleware, such as UniData ODBC, UniObjects, Uni-
Objects for Java, UniOLEDB, and InterCall, or they can be connections through the wIntegrate and/
or SBClient telnet clients. These sessions can be established using one or more user ID and password
combinations, but will only consume one UniData license as long as they come from the same physical
device. You specify the maximum number of concurrent sessions allowed from a single device when
licensing UniData. The number of connections you may specify is 0 -10, depending on the number for
which you are licensed. You can connect more than ten times, but each connection over ten consumes
a full UniData license. Device licensing is available on the UniData Workstation, Workgroup, Server and
Enterprise editions.

Licensing UniData
You can license UniData products from UniAdmin, or from by entering the confprod command from
the command line.

116
Licensing procedure

Licensing procedure
In order to license UniData, you must complete the following steps. Each step is explained in detail
later in this chapter:
1. Determine the number of users and the UniData product set for your system. On UniData for
UNIX, your installation media comes preset with a default of eight users, and all layered products
set to N. On UniData for Windows platforms, your installation media comes preset with a default
of 32 users. You set the number of users and authorized products for your system when you
run the confprod program. If the number of users and authorized products on your Product
Configuration Sheet differs from what you ordered, contact your UniData software distributor or
account manager.
2. Run the confprod program and enter the number of users and the authorized product set into the
Configuration and Authorization screen to generate a configuration code.
3. Contact Rocket Software with the generated configuration code to obtain an authorization code.
4. Enter the authorization code into the Configuration and Authorization screen of the confprod
program. On UniData for UNIX, the product fields that display Y or N indicate whether you are
licensed to use the product. On UniData for Windows Platforms, the check box next to a product
indicates whether you are licensed to use that product. The product fields that display numbers
show how many users are authorized to use that product.
5. Run udtconf to update the UniData configuration parameters for the number of authorized users.
6. If you are running the Recoverable File System, adjust the log configuration file and reinitialize
the log and archive files.

Note: UniData functions for up to 10 days after installation without an authorization code. You
should allow sufficient time to contact Rocket Software with your configuration code and receive
an authorization code. Any change in the configuration starts the same 30-day countdown. Even if
you immediately return your settings to their former values, you must contact Rocket Software for
a new authorization code.

Tip: If the configuration provided to you matches what you requested from your UniData supplier,
you should consider leaving it the way you received it to avoid any purchasing discrepancies or
problems.

On UniData for UNIX, the confprod program requires that you use a terminal supported by vvtermcap.
vvtermcap is a special UniData termcap-like file. confprod, and udtconf (the shared memory
configuration tool) rely on vvtermcap. UniData expects to find this file in udtbin. If vvtermcap is not
located in udtbin, you must set the VVTERMCAP environment variable to the path where vvtermcap
resides.
UniData supports the following terminal types:
▪ ANSI
▪ DEC VT100
▪ DEC VT220
▪ VT52
▪ WYSE 50
vvtermcap also includes a sample definition that is tunable to your specific terminal requirements. As
the system administrator, you should make sure your terminal emulation is listed. If not, you can copy
the “Test” terminal definition and modify it to meet your needs.

117
Chapter 8: Licensing UniData products

Licensing steps on UniData for UNIX

1. Change directories
Change directories to the udtbin directory in which you installed UniData. Change directories using
the UNIX cd command and then confirm your location using the pwd command as shown in the
following example:

# cd /usr/ud81/bin
# pwd
/usr/ud81/bin
#

2. Run confprod
You must log on as root to run confprod.
The confprod application is used to obtain the configuration code after installing UniData. The
following describes how to use confprod:
To start the application, enter the following command from the udtbin directory:

# ./confprod

This displays the Configuration and Authorization screen:

118
3. Match your product configuration sheet

If you have previously set the configuration and obtained authorization, the Authorization field should
say Yes, indicating that you are authorized until you change the configuration. If you are already
authorized and the number of users and UniData products is correct, no further action is required until
you make changes.

3. Match your product configuration sheet


You may need to change the current settings on the Configuration and Authorization screen to match
your Product Configuration sheet. Change the current settings by using the arrow keys or tab key on
your keyboard to move through the choices in the Users/Licensed column. Enter the number of users
from the Product Configuration sheet in the first field. Enter the number of Connection Pools from the
Product Configuration sheet in the Connection Pooling field. Enter the number of Device Licenses from
the Product Configuration sheet in the Device License Field. Enter Y (Yes) or N (No) in any of the next
three fields to indicate whether you are authorized to use the product corresponding to the field. Enter
a new expiration date in the Expiration Date field to match the UniData license expiration date on the
Product Configuration sheet, if necessary.

4. Save the changes


If you changed the configuration and you want to save it, press U (Update). If you were previously
authorized and you changed the configuration, UniData automatically changes the Authorization field
from Yes to No. You can skip this step if you did not change the configuration.

119
Chapter 8: Licensing UniData products

Note: The screen instructions call for CTRL plus the letter on the screen (U, F, A, D, or E); however,
the necessity for CTRL depends on your operating system. Try both to see if you need to enter CTRL
plus the letter, or just the letter.

5. Generate the configuration code


Obtain the configuration code from UniData by pressing F (ConFCode). UniData displays the
configuration code at the bottom of the screen. You must supply Rocket Software with this code in
order to get authorization for a software license.

6. Store the code


Write the code down or save it to a file by pressing D (DumpConfig) and entering a file name at the
prompt. Saving the code to a file will help to prevent errors, as you can print the file and mail or fax the
printout to Rocket Software, or you can e-mail the file to us.

7. Obtain an authorization code


Follow the instructions on the key card you received with your UniData product to obtain an
authorization code.

8. Enter the authorization code


When you obtain the authorization code, you must enter the code in the Configuration and
Authorization screen. (If you exited the screen, run confprod to reenter the screen. Refer to step 2.)
Press CTRL+A (Authorization). At the prompt at the bottom of the screen, enter the authorization
code. Your entry is case-sensitive, and you must use dashes in the appropriate places. If the
authorization is successful, the screen displays License Authorized, and the Authorized field
changes from No to Yes. You are now licensed to run UniData.

9. Exit licensing
Press CTRL+E (Exit) to exit the licensing process.

10. Stop UniData


If you are licensing UniData immediately after an installation, UniData should not be running. If
UniData is running, you must now activate the license. Check to see if UniData is running with the
showud command, as shown in the following example:

# showud
UID PID TIME COMMAND
root 28643 0:00 /disk1/ud81/bin/aimglog 0 18367

120
11. Run udtconf

root 28644 0:00 /disk1/ud81/bin/aimglog 1 18367


root 28645 0:00 /disk1/ud81/bin/bimglog 2 18367
root 28646 0:00 /disk1/ud81/bin/bimglog 3 18367
root 28656 0:00 /disk1/ud81/bin/cleanupd -m 10 -t 20
root 28640 0:00 /disk1/ud81/bin/cm 18367
root 28652 0:00 /disk1/ud81/bin/repmanager
root 28634 0:00 /disk1/ud81/bin/sbcs -r
root 28639 0:00 /disk1/ud81/bin/sm 60 1529
root 28627 0:00 /disk1/ud81/bin/smm -t 60
root 22934 0:00 /disk1/unishared/unirpc/unirpcd
#

If UniData is running, ask all users to log out of UniData, then stop UniData with the stopud command.

11. Run udtconf


The udtconf utility allows you to automatically set udtconfig parameters for shared memory. Although
shared memory requirements are highly application- and platform-dependent, udtconf can provide
suggestions for udtconfig parameters and provide information about the actual state of your system.
You do not have log on as root to run udtconf, but the utility reads information from
udtconfig parameters and from the UNIX kernel. If you do not log on as root, you may not have
sufficient access to the kernel, and the results will be unreliable.
You should run udtconf with UniData users logged off and UniData shut down. The one exception
is to assess the impact of the RFS system buffer. In this case, run udtconf from a UNIX prompt while
UniData is running.

udtconf main display


The following example shows the main screen of the udtconf utility:

121
Chapter 8: Licensing UniData products

To advance to a field displayed on the screen, press TAB. To page down, press CTRL+D. To page up,
enter CTRL+U.
The udtconf utility displays warning messages if some of the kernel parameters are not adequate
to support the values udtconf calculates. Make sure that the kernel parameter for semaphore undo
structures, usually semmnu, is adequate to support the number of authorized users prior to running
udtconf.
Settings for the udtconfig parameters NUSERS, SHM_GNTBLS, N_TMQ, and N_PGQ are based on the
number of authorized users. Although udtconf displays warning messages if kernel parameters are not
adequate to support these settings, the udtconfig file is updated with the values you set if you choose
to ignore the warnings. In this case, UniData may not be able to start. For more information about
configuring your UniData system, see Administering UniData.

Update NUSERS for your environment


Change the value of NUSERS to correspond to your number of authorized users. The value of NUSERS
should be (number of authorized users) + (number of authorized users / 4). If your cursor is not on the
NUSERS parameter, press TAB until it is.

Adjust other parameters


After you have changed NUSERS, enter CTRL+A to automatically set other udtconfig parameters
based on the value of NUSERS. If any of your kernel parameters will not support the new settings, a
warning message appears at the bottom of the screen.

Checking configuration parameters


Press CTRL+K to check the UniData configuration parameters against the kernel parameters. If a
UniData configuration parameter cannot be supported by a kernel parameter setting, a warning
message is displayed at the bottom of the screen for each conflicting parameter, as shown in the
following example:

122
Saving configuration parameters

When all configuration parameters have been checked, the system displays the message “Shared
memory related configuration values are OK!”

Saving configuration parameters


Press CTRL+V to save the configuration parameters to the udtconfig file located in /usr/ud81/
include. If you do not save the parameters, no changes are made to the udtconfig file.

Recalculating the size of the CTL


Press CTRL+L from any udtconf screen to recalculate the size of your global control table
CTL. This table changes size if you change shared memory parameters such as SHM_GNTBLS,
SHM_GPAGESZ, and so forth. If the table size is greater than the kernel parameter shmmax (and the
udtconfig parameter SHM_MAX_SIZE), you will not be able to start UniData.

Viewing current and suggested settings


To view current and suggested UNIX kernel settings, press CTRL+P. The following screen shows
sample output:

udtconf suggests values assuming that UniData is the only software product on your system. If that is
true, as long as the current kernel settings for semaphore undo structures, shared memory segments,
and so forth, are at least equal to the suggested values, it should not be necessary to rebuild your
kernel. If you have additional applications running, you need to consider the combined effect of
UniData and all other applications when evaluating your kernel.

Exit udtconf
To exit the udtconf utility, press CTRL+E. If you have made changes to configuration parameters,
make sure to save the changes using CTRL+V before exiting the program.

123
Chapter 8: Licensing UniData products

udtconf and the Recoverable File System


If you are using the Recoverable File System, UniData reserves an amount of shared memory for the
system buffer. This memory is reserved when you start UniData, and it is not available to the smm
or sbcs daemons. If your system was running close to its limit in terms of memory resources without
RFS, allocating the system buffer can be a significant change. For instance, you may see an increase in
error messages indicating smm could not create or attach a shared memory segment. For information
about configuration parameters for RFS, see Administering the Recoverable File System.

12. Verify logconfig file


If you are running UniData with the Recoverable File System, the udtconf utility automatically changes
the size of the file-level log in /usr/ud81/include/logconfig. The size of the file-level log must
be at least NUSERS + 1. Verify that file-level log size is correct.
In the following example, the file level log size appears in bold:

# pg logconfig
/disk1/ud81/log/a_0000 021 4096 0 250
/disk1/ud81/log/a_0001 021 4096 0 250
/disk1/ud81/log/b_0000 022 4096 0 250
/disk1/ud81/log/b_0001 022 4096 0 250
/disk1/ud81/log/a_0002 021 4096 0 250
/disk1/ud81/log/a_0003 021 4096 0 250
/disk1/ud81/log/b_0002 022 4096 0 250
/disk1/ud81/log/b_0003 022 4096 0 250
/disk1/ud81/log/filelog_0 0120 4096 0 126
(EOF):

13. Run cntl_install, if necessary


If any values in the logconfig file located in /usr/ud81/include change, run cntl_install at this
time to reinitialize your log and archive files. You must have root permission to run cntl_install.
The following example shows the output from cntl_install:

# cntl_install
cntl_install utility resets Unidata System
after a full database backup (Image Copy).
This means, all log (and archive) files will
also be initialized for re-use.
Do you want to continue?(y/n) [n] y
Installing Logs (and Archives) after cntl_install
........
#

14. Complete installation


If you are authorizing UniData as part of an installation process, proceed with the step-by-step
instructions for your type of installation.

124
How UniData counts licenses

If you are authorizing UniData separately from performing an installation, you may now start
UniData with the startud command.

How UniData counts licenses


Each of the following processes consumes one UniData license:
▪ A UniData session (executing udt).
▪ A connection made to UniData through ODBC.
▪ A connection made to UniData through ObjectCall.

Note: ObjectCall is not available beginning at UniData 8.1.0.

▪ Using bang (!) to execute another UniData session.


▪ Interactive phantom processes
▪ The Extensible Administration Tool (XAdmin) if you do not connect using the Connect As Admin
option.
Device licensing enables you to have multiple UniData sessions from the same device, normally your
PC, while consuming only one UniData license.
A phantom process does not consume a UniData license, unless the phantom process is interactive.

Licensing steps for UniData for Windows platforms

1. Start the U2 Extensible Administration Tool


Authorize UniData from the U2 Extensible Administration Tool utility, following the steps described
below:
From the Admin Tasks view, double-click License. A dialog box similar to the following example
appears:

125
Chapter 8: Licensing UniData products

2. Verify configuration
Verify that the configuration displayed in the Configure Product/License dialog box matches the
configuration on the Product Configuration sheet shipped with UniData.
If the number of users, connection pools, or device licenses displayed in the UniData RDBMS,
Connection Pooling, and Device Licenses boxes do not agree with your Production Configuration
sheet, click the appropriate box and enter the correct number of users or connection pools.
Review the layered products selected. If you are authorized to use a product that is not selected, select
the check box next to the appropriate product. If a product is selected that you are not authorized to
use, click the check box next to the appropriate product to clear it.

3. Enter expiration date


Enter the expiration date from your Product Configuration sheet in the Expiration Date boxes. If you
purchased a license that does not expire, select the Never Expire check box.

4. Update the configuration


When you have made the necessary changes in the Configure Product/License dialog box, click OK to
save the changes.

5. Obtain configuration code


Click the Authorize tab to obtain the configuration code you will need to authorize UniData. The
configuration code appears in the Configuration Code box, as shown in the following example:

Authorize UniData
To obtain an authorization code, click Copy next to the appropriate link for your geography,
either https://u2tc.rocketsoftware.com/authprod.asp for the United States and Canada or https://
u2tcint.rocketsoftware.com/authprod.asp if outside the United States or Canada.
After obtaining the authorization code, enter the code in the Authorization Code box, or click Paste,
and then click OK. Click Close to the exit the program without saving changes.

126
Updating a UniData license

Note: You must log on as root on UniData for UNIX or Administrator on UniData for Windows
Platforms to authorize the product.

Click Exit to exit the Configure Product/License dialog box.

Note: If you do not have your Product Configuration sheet, or if you encounter problems
authorizing UniData, contact Rocket Software.

Updating a UniData license


You must update your UniData authorization in the following situations:
▪ You upgrade to a later release level of UniData.
▪ You purchase an additional UniData product (for instance, the Recoverable File System or NFA
Service).
▪ You purchase additional user licenses for your UniData RDBMS.
▪ You make any change to any of the user-modifiable fields on the confprod screen.

127
Appendix A: Introduction to udtsetup
Starting at UniData 8.1.0, a new installation/upgrade script has been included with the UniData media
for UNIX and Linux platforms. This new script is an improvement over the existing udtinstall and
updatesys utilities in many ways.
See the list below for a summary of the benefits of this new installation method.
▪ Installing UniData, on page 131 – Including Basic and Advanced - Adding UniData to a new system
▪ Upgrading UniData, on page 146 – Including Upgrade Installation
▪ Concurrent Installation of UniData, on page 162 – Upgrading an Existing major version of UniData
Concurrent Installation (Adding a new major version of UniData, running both major versions at
the same time, UDTHOME/UDTBIN would be different paths between the two major versions.)

Naming conventions
The following naming conventions are used throughout this book:
▪ UDTHOME/$UDTHOME – UniData Home Directory environment variable
▪ UDTBIN/$UDTBIN – UniData Bin Directory environment variable – This is usually a ‘bin’
subdirectory instead $UDTHOME
▪ /usr/ud## - The ## is the major version of UniData without periods. For example, UniData 8.1
would be shown as: /usr/ud81/include/path81
▪ ‘< text >’  - Shown in example output – This is an action that is suppressed from the example. For
instance the systest output that is several pages long is shown with these brackets.
▪ Directory path used in examples – The examples use the /disk1 directory path, the defaults used
in the script is /usr/ud## for UniData and /usr/unishared for the Unishared path
▪ For the question/prompts during the example, if no text is shown at the start of the next line then
an Enter was used.

Improvements
The new installation/upgrade scripts for udtsetup include the following improvements:
▪ One Installation/upgrade script – All three major install types are supported in the one script.
If udtinstall was used then the /usr/ud##/include, $UDTHOME/lib, $UDTHOME/log,
or $UDTHOME/sys (including the global catalog space) was removed. With udtsetup, checks
are done to verify the installation type (Install, Upgrade, or Concurrent), so if UniData is being
upgraded, the catalog space will not be cleared.
▪ Tar file extraction done By Udtsetup – The recommended method of installing/upgrading UniData
with udtsetup is to extract the udtsetup file from that tar file then allow the udtsetup script to
extract the remaining files (included in tar file only with UniData 8.1.0 and higher). The udtsetup
script validates before doing the full tar file extraction to avoid unnecessary downtime if there are
problems with the installation media. See OS/platform media validation, on page 182 for the
various ways to notify the udtsetup script of where the media is located.
▪ Web Authorization – If using the ‘Web Authorization’ (W) or ‘Confprod with Web Authorization’ (CW)
options for the Authorization method, after supplying licensing details (serial number, user count,
etc.) and U2 Business Connect required info, a call can be made during the udtsetup script to
authorize UniData for you. The details entered must match U2 Business Connect records. For an
example of Web Authorization, see Web authorization, on page 185. This is only supported with
UniData version 7.2.0 or higher.
▪ Backup and restore – For upgrade installs, the udtinstall/updatesys method had a backup option
but it only backed up /usr/ud##/include, $UDTHOME/work and $UDTHOME/log. With

128
Improvements

this script, it backs up the /usr/ud##, $UDTHOME, $UDTBIN, /.udlibs*, and more. For an
example of the backup steps, see Backup questions, on page 151.
▪ Check and fix permissions – If options are selected (disabled by default), a permission log can be
generated during an installation/upgrade so that if a permissions issue arises later on, permissions
can be changed back to the values used at installation time. Also, on upgrades, a second check can
be done and any differences can be fixed by the udtsetup script. See Permission questions, on page
152.
▪ Media validation– Before altering the system, the tar file supplied is checked to see if it is for the
correct operating system and confirms if systest works. If these checks fail, then the system is not
altered. See OS/platform media validation, on page 182.
▪ Upgrade validation – Several changes have been done to improve upgrades:
▫ The udtsetup process confirms that UniData is not running, including the UniRPC daemon.
▫ The ‘fuser’ utility confirms that no UniData bin files are in use. In previous versions of UniData,
if UniData processes were still running, those files wouldn’t be updated and will cause errors
when trying to use those outdated files later.
▫ A check is done to find all previously known UniData major versions. If UniData is already
installed, then in the ‘UniData Version to be upgraded’ question, only the versions currently
installed are listed. Previously, only the major version set in the script was reported.
▫ The ‘Install Serial Number’ is retrieved from the existing installation. In previous versions of
UniData, this was always set to ‘serial_number’
▪ URI (Uniform Resource Identifier) support – Installation files can be retrieved from Internet
resources. The udtsetup script uses the ‘curl’ utility which is available on all major platforms. The
udtsetup script must exist locally first before these files can be downloaded. These options are
currently only available through command line options. See Command line options, on page 175.
▪ Custom configuration files – If custom versions of the UniData configuration files are found, these
can be retrieved by the udtsetup script and copied into place. This saves time configuring these
files on new systems. Most of the configuration files used by UniData are supported (common
files being udtconfig, ud_database, logconfig, etc.). Some of the files are copied directly, others
have keywords that can be updated without being copied. See Custom configuration files, on page
193. These same configuration files are supported with the URI feature as well.
▪ Custom commands - The udtsetup process will check for a file called ‘commands’ in the custom
directory and execute any attached scripts. See Custom commands, on page 197.
▪ Replication and Recoverable File System (RFS) prompts – With the udtsetup script, the replication
and RFS files are configured with default settings even if the prompts are set to No. The flags in
udtconfig are only enabled if these prompts are set to Yes. When using the udtinstall/updatesys
scripts, if these prompts were set to No, then no files are setup. If a customer decides to add these
components later, an administrator is required to manually set up the files or reinstall UniData.  
▪ Improved logging – There are 10 levels of logging available to the script (see Improved logging and
exit codes, on page 177. The default level is fine for most users, and the logging level should only
need to be increased if instructed by the Rocket U2 Technical Support group. The last 10 calls to
the udtsetup script will be captured in the $UDTBIN/saved_logs/udtsetup.log file. There
are also logs in $UDTBIN/saved_logs, starting with ‘udtsetup’ for permissions changes, the tar
file extraction output, and a warning log.
▪ Parameter file – In previous versions of UniData, the udtinstall/updatesys scripts supported a
Parameter file for recording answers to install prompts. This functionality has been integrated into
udtsetup. There are 40+ parameters available. If the upgrade/install prompt does not have a value
for the question encountered, the user will be prompted for this information. Web Authorization,
Check Permissions, Backup, and other new features have parameter file support included. Some
parameters are used in both types of parameter files. There is no validation done if using a
parameter file from udtinstall/updatesys with udtsetup and vise-versa. The parameter file from
udtsetup is saved to $UDTBIN/saved_logs/udtsetup.param. A copy parameter that is set
in udtsetup parameter files is ScriptVersion. See Parameter file, on page 178.

129
Appendix A: Introduction to udtsetup

▪ Unique messages and exit codes – Each abort has a unique exit code and a unique message. The
unique exit codes will help in troubleshooting. Corrective action is noted in messages whenever
possible.
▪ Environment Variables – The UDTHOME, UDTBIN, and LANG environment variables do not need
to be set in order to use this script. If using the old installation method (see Restrictions, on page
130), then the UDTBIN environment variable will need to be set.  
▪ Start UDT at end of script – With udtsetup, UniData automatically starts at the end of the script by
default. With udtinstall/updatesys, the administrator must start UniData manually after the install
completes.
▪ Backward compatibility – The udtsetup script was developed before the release of UniData 8.1,
and as a result it has only been tested against UniData 7.2. 7.3, and 8.1. No testing has been done
against versions before UniData 7.2 but in general it should work. The UniData Version is read
from the tar file and checks are done internally in the script based on the version. There is only
one script for all Unix/Linux platforms, so this script can be copied between servers and will work
correctly. See technote #UDT-11605 to get a copy of the udtsetup script and related licensing
program in case you are not installing UniData 8.1. The script will be included with the product
media starting at UniData 8.1.0.
▪ Exit Early/Quit supported – Before UniData 8.1.0, udtinstall/updatesys will hang if a user types ‘Q’
at a prompt. This is fixed in UDT 8.1.0 of udtinstall, updatesys and udtsetup. For udtsetup, quit will
be disabled after the media has been extracted to the UniData Bin directory. If using udtsetup, a
message is displayed after the ‘quit’ was entered explaining how to restart the process will the
same settings. See QUIT/EXIT early, on page 178.
▪ Compressed media files supported – If the udtsetup script is available outside of the media tar file,
the udtsetup can uncompress certain file types to extract the UniData binaries from the bin.tar
file and will then compress the tar file back to the original name. The file types supported are .Z,
.zip, and .gz.
▪ Help and version details – Help details, including command line options, are shown with the ‘-
h’ and ‘-ah’ options. Also, there is an internal version kept inside the udtsetup script, use the ‘-v’
option to show the version.
▪ Follow of script is similar to udtinstall/updatesys – The learning curve for this new script should
be low since it looks and feels similar to the original udtinstall/updatesys scripts. Several prompts
that look the same have been improved in this script.
▪ Data Copied to new install directory – If UniData is being moved on the system to a new location,
the original data is copied first before an installation/upgrade is performed.

Restrictions
The latest version of UniData has the following restrictions for the installation process:
▪ The old installation method used with udtinstall of extracting to $UDTBIN, then running the install
script, is supported only for Installation and Concurrent Installations. Upgrades must use the new
method of supplying a tar file, since the contents of the $UDTBIN directory cannot be verified to be
the latest upgrade version. If using the old install method, the $UDTBIN environment variable must
be set first.
▪ For URI options, the only tool supported is ‘curl’.
▪ If using URI options and configuration the repsys file, the EXCEPTION_ACTION script is not copied
from the URI location. Support for this may be added in the future.
▪ If using custom commands, bypass the LOGIN paragraph to avoid the custom script failing. During
this segment, a ‘UDTSETUP’ environment variable is set to 1 to help modify the LOGIN paragraph
to allow for this. See Custom commands, on page 197 for a code example.
▪ Unable to run the script from the / or /etc directory.

130
Examples

Examples
New major features in udtsetup can be found in the following sections:
▪ Web authorization – Full example, on page 142
▪ Backup – Full example, on page 159
▪ Restore – Only details given, example not shown, see Restore, on page 188
▪ Check and fix permissions – Full example, on page 159

Installing UniData
Follow the steps in this section for a basic or advanced installation. Text referring to ## means the
major UniData version, for example 73, 81, etc.
The examples will show an advanced installation. The only difference between basic and advanced is
that the ‘basic’ install has the UniData home directory set to /usr/ud## (major version number), and
‘advanced’ is anywhere else on the system. On UniData for UNIX/Linux, answers to the prompts in
the udtsetup script are kept in the udtsetup.param file located in $UDTBIN/saved_logs. See
Parameter file, on page 178 for more information on the use of the parameter file.
The udtsetup will create the UniData home and bin directories during the install. If the install aborts,
these directories will be deleted. The parent directory of UniData home will not be created during
the script. All screen messages are written to the /tmp/udtsetup.partial.log file. After the installation/
upgrade completes, the file is moved to the $UDTBIN/saved_logs/udtsetup.log file. There
is also a /tmp/udtsetup.warning.log file that is moved to $UDTBIN/saved_logs after
completion.

Step-by-step installation instructions


You must be logged in as root to perform the installation.
1. Copy the UniData media (bin.tar file) to local directory (not $UDTBIN) on server.
2. Download the media from https://u2tc.rocketsoftware.com for the United States and Canada, or
https://u2tcint.rocketsoftware.com for regions outside of North America. The media is normally
stored in zip format on these servers.
3. Unzip these files and copy the bin.tar file to your UNIX/Linux server.
It is recommended to place the file outside your planned $UDTHOME or $UDTBIN directories.
4. Extract the udtsetup script from the media.
5. Execute the script with this command:
tar –xvf bin.tar udtsetup
There are several ways to retrieve the location of the tar file to be used, see Tar file extraction
options, on page 184 for more details.
If performing an installation then you can extract the files to the $UDTBIN directory like
udtinstall/updatesys, but that is not the recommended manner to use udtsetup. For upgrades,
the old method of extracted to the $UDTBIN directory is not supported because it will invalidate
the environment for permissions and backup functions.
Example output:
# tar -xvf bin.tar udtsetup
udtsetup
6. Execute the ./udtsetup script by entering ./udtsetup at the system prompt.

131
Appendix A: Introduction to udtsetup

This begins the installation process.


The script will perform some startup tasks, such as extracting the necessary files needed during
the process, validating that the tar file provided is for the correct platform, and performing any
other validation tests to confirm the UniData executables will work properly on your system. After
the validations are done the screen is cleared and the software license agreement prompt will be
displayed.
Example output:

Welcome to the Rocket UniData RDBMS, performing startup tasks...


Extracting files needed during setup process...
Validating tar file.
Using /disk1/u2install/bin.tar during this process.

<screen is cleared>

7. Answer Yes to the Software License Agreement. You can type D to display the license details. All
other answers will abort the installation.
Example output:

Welcome to the Rocket UniData RDBMS.


http://www.rocketsoftware.com/u2
License files are located in /license.
Do you accept the terms of the Software License Agreement (SLA)?
Enter Yes/No or D to display agreement [No]:
Yes

8. Enter the UniData home directory.


The default value for this prompt is found by first checking for $UDTHOME being set, then the
location in /usr/ud##/path## file, otherwise, the default of /usr/ud## is used. This prompt
was not used in the udtinstall/updatesys method of installation.
If the value used in this prompt does not exist as a directory, then it will be created. The parent
directory of UniData home is not created here. If the UniData home fails the directory creation,
the installation will abort. If this directory was created during the script and the installation
aborts for other reasons later on then this directory is removed.
If the UDTHOME variable is not set a warning is displayed.
Example output:

Enter the full path name of UniData home directory [/usr/ud81]:


/disk1/ud81
Creating ud81 directory in the /disk1 path.

WARNING: The path you selected does not equal UDTHOME.


The environment variable UDTHOME will be ignored and it
needs to be changed after the installation.

9. Enter the UniData Bin directory. The default value for this prompt is found by first checking for
$UDTBIN being set, then the location in /usr/ud##/path## file, otherwise, the default will be
the UniData home value used in the previous prompt plus /bin on the end.
If the value used in this prompt does not exist as a directory, then it will be created.
If the UniData bin fails the directory creation, the installation will abort.
If this directory was created during the script and the installation aborts for other reasons later on
then this directory is removed. If the UDTBIN variable is not set a warning is displayed.
Example output:

Enter the full path name of UniData bin directory [/disk1/ud81/bin]:

132
Step-by-step installation instructions

Creating bin directory in the /disk1/ud81 path.

WARNING: The path you selected does not equal UDTBIN.


The environment variable UDTBIN will be ignored and it
needs to be changed after the installation.

The type of installation and version are displayed here. If you use the ‘-sb’ option, the build
number will be displayed, if possible.
Example output:

Starting the installation of UniData 8.1.0.

10. LANG variable warning is displayed. The UNIX LANG environment variable affects the behavior
of UniData. Before you install UniData, you should be aware of the consequences of using a
LANG setting other than “C.” If you use a LANG setting other than “C,” note that certain UniData
commands may cause unpredictable results, such as the UniBasic UPCASE and DOWNCASE
commands, and the MCU and MCL conversion codes.
If you are installing UniData in an environment that does not support ASCII characters 250
through 255, and ASCII character 192 as internal markers, read the UniData International Guide
before proceeding with the installation.

Tip: We strongly recommend that the value of LANG is consistent for all users. Consider
setting the LANG environment variable in the .profile or .login script.

a. When choosing a LANG setting for your system, make sure the LANG setting you choose is
supported by UniData.
b. To find the supported LANG settings for your system, execute the locale -a command, as
shown in the following example:

# locale -a
C
POSIX
C.iso88591
C.utf8
univ.utf8
ar_DZ.arabic8
ar_SA.arabic8
ar_SA.iso88596
bg_BG.iso88595
cs_CZ.iso88592
da_DK.iso88591
da_DK.roman8
nl_NL.iso88591
nl_NL.roman8

c. During the installation process, UniData changes the LANG environment variable to “C” for
installation processing and displays the following message. Answer Yes to continue.
Example output:

WARNING:

-- Environment variable LANG is not set to 'C'.


-- It will be set to 'C' by UniData during this installation.
-- See the Rocket UniData Installation Guide for more details.

Would you like to continue? [Yes]:

133
Appendix A: Introduction to udtsetup

11. Enter the serial number found in Rocket U2 license correspondence. This information is not
required as part of the installation. On an upgrade, this prompt will default to the previous serial
number used.
Example output:

Enter the 'Install Serial Number' [serial_number]:


12345678

Installation prompts – licensing questions


1. Enter your authorization method.
There are four valid authorization methods available in udtsetup, details are:
▪ N – None. No licensing prompts are shown including request for confprod.
▪ W –  Web Authorization. Follow up questions are shown for each of the licensing items after
this question. At the end of the script, UniData is started and a call is made the the U2 Business
Connect website to validate the licensing. If an authorization code is returned UniData will be
authorized.
▪ C –  Confprod. Confprod is called to do licensing. If this mode is used a warning is displayed if
your term type does not work properly. Confprod needs vt100 emulation to work properly.
▪ CW – Confprod with Web Authorization.  Still use confprod (see other options for term type
warning). Then makes same calls that the ‘W – Web Authorization’ option uses.
The ‘W’ and ‘CW’ options will only display if the UniData version being installed/upgraded to is
UniData 7.2.0 or later.
If the ‘W’ option is used and the authorization process fails, the licensing values are still set on the
system and a message is displayed on how to correct the problem.
If using Personal Edition, all of the authorization methods are skipped.
See Web authorization, on page 185 for more details.
Example output:

Authorization methods available:


N - None (Default) W - Web Authorization
C - Confprod CW - Confprod with Web Authorization

Select your authorization method [N]:


W

2. Enter product licensing details (authorization mode ‘W’ only).


a. Enter the UniData base license user count. This will be the ‘authorizable’ amount.
Example output:

Enter the UniData base license count [32]:


25

b. Enter the UniData Connection Pooling user count. Enter the user count for connection
pooling licenses. This is a purchased add-on. Enterprise licenses have a couple of connection
pooling licenses included.
Example output:

Enter the UniData 'Connection Pooling' license count [0]:

c. Enter the UniData device licensing user count.

134
Installation prompts – licensing questions

Device licensing allows for sessions to share a license if started from the same workstation
and using approved telnet/UniRPC Clients. This value is different depending on your license
type. The defaults for each edition are as follows:
▪ Workgroup and Enterprise Edition: the default is set to 10
▪ Server Edition: Default is 0, unless an add-on is configured on your license. Maximum
value is 10.
With this prompt, 0 and 1 mean the same thing.
Example output:

Enter the UniData 'Device Licensing' license count [0]:


10

d. Enter Yes if you have the Network File Access (NFA) add-on.
Example output:

Do you want to enable 'NFA' licensing [No]:


Yes

e. Enter Yes if you have the Recoverable File System (RFS) add-on.
Example output:

Do you want to enable 'RFS' licensing [No]:


Yes

f. Enter Yes if you have the External Database Access (EDA) add-on.
Example output:

Do you want to enable 'EDA' licensing [No]:


Yes

g. Enter Yes if you have the Subkey add-on.


Example output:

Do you want to enable 'Subkey' licensing [No]:


Yes

h. Enter the license expiration date.


The default value for a permanent license is ‘01/01/4000’. Otherwise, it should be set to the
expiration date of your temporary/trial license.
Example output:

Enter the UniData license expiration date [01/01/4000]:

3. Enter U2 Business Connect Required Information (Authorization Mode ‘W’ or ‘CW’ only).
In order for the web authorization call to work properly several pieces of information is needed
by the web service. If you have used the U2 Tech Connect website to authorize UniData previously
these prompts will look familiar.
a. Enter your Company Name
Example output:

Additional information is needed for web authorization.

Enter Company Name:


My Company

b. Enter your Contact Name

135
Appendix A: Introduction to udtsetup

Example output:

Enter Your Name:


My Name

c. Enter your Email Address


Example output:

Enter Your Email Address:


myname@myco.com

d. Enter a reason for authorizing


Example output:

Enter a reason for the authorization request:


Upgrading to UniData 8.1.0

e. Enter ‘Yes’/’No’ flag for Seasonal Users


Seasonal users are a temporary license increase, usually set for a few months. This is for
customers that have a ‘busy’ season and need a short term increase in user licenses.
Example output:

Do you want to authorize seasonal users [No]:

Additional licensing information prompts are complete.

All Licensing Types will continue the installation process from here.

Installation prompts – post licensing questions


1. Enter the UniData Work directory.
The system displays the work directory where it will load the files to rebuild UniData based on the
location of udthome entered in step 4.
If the path UniData displays is correct, press Enter. If you want the location of your work directory
in another location, specify the directory.
Example output:

Enter the full path name of work directory [/disk1/ud81/work]:

2. Enter the UniData Lib directory.


This directory contains libraries for all UniData executables. UniData displays the path where it
will load this directory based on the location of udthome you entered in step 4.
If the path UniData displays is correct, press Enter. If you want the location of the lib directory in
another location.
Example output:

Enter the full path name of lib directory [/disk1/ud81/lib]:

3. Enter the location of the log files.


This directory contains the location where UniData will build the log files for the Recoverable
File System (RFS) based on the location of udthome you entered previously. This is also the
parent directory of where the default location for the replication logs (REP_LOG_PATH setting
in udtconfig). If the path UniData displays is correct, press Enter. If you want the log files in

136
Installation prompts – post licensing questions

another directory, enter the full path. You do not have to create the log file directory prior to the
installation/upgrade.
Example output:

Enter the full path name of log directory [/disk1/ud81/log]:

4. Enter the location of the unishared directory.


The unishared directory contains files necessary for the unircpd daemon. Press Enter to accept
the default location of udthome/unishared, or enter an alternate path. In the example below, the
/.unishared file already existed so the location was read from that file.
Example output:

Enter the full path name of unishared directory [/disk1/unishared]:

5. Enter a group name.


UniData uses the group name associated with the root login name. If the group name displayed
is correct, press Enter. If the default is not correct, enter the correct group name: On an upgrade,
this defaults to the current group set on the $UDTBIN/smm file.
Example output:

Enter a valid group name for changing files' group [sys]:

6. Optional: Enable Recoverable File System (RFS).


The configuration files needed for Recoverable File System (RFS) are automatically created with
udtsetup. This was not the case with udtinstall/updatesys. Previously it required you to reinstall
or manually create the configuration files.
This prompt asks if you want to enable RFS. If this prompted is answered Yes, then the SB_FLAG
setting in udtconfig enabled and cntl_install is ran to initialize the logs. If this prompted is
answered Yes but licensing was done during this script and RFS was not enabled in the licensing,
then this RFS flag will be disabled. RFS is a purchased add-on.
This prompt will default to the previous setting for RFS on upgrades.
Example output:

Turn on the Recoverable File System? [No]:


Yes

7. Optional: Enable Replication.


The configuration files needed for Replication are automatically created with udtsetup. This was
not the case with udtinstall/updatesys. Previously it required you to reinstall or manually create
the configuration files.
This prompt only asks if you want to enable Replication. If this prompted is answered Yes, then
the REP_FLAG setting in udtconfig is enabled.
This prompt will default to the previous setting on upgrades. If replication is not enabled the
configuration files will use the default system id, which is hostname_UniData Major
Version.
Example output:

Turn on the Replication Subsystem? [No]:


Yes

8. Start UniData automatically at the end of script.


Udtsetup added a new prompt that is enabled by default to start UniData at the end of the
installation/upgrade. Answer No if you do not want UniData to start at the end of the script.

137
Appendix A: Introduction to udtsetup

Example output:

Do you want to start UniData at the end of the install? [Yes]:

9. Default Permissions.
A new feature in udtsetup is for tracking permission changes. The default for this prompt is No.
Default permissions can be logged during the installation, so that if a permissions issue arises
later, an option can be ran with udtsetup to restore the permissions at time of installation/
upgrade. See Check and fix permissions, on page 188.
Example output:
Do you want to log default permissions after the install? [No]:
Yes
10. Review Input Data.
UniData displays a summary of the information input at each prompt before proceeding with
the installation. Review the summary carefully. If all values are correct, press Enter. If a prompt
is incorrect answer No, and then restart the installation to correct the value. There is a second
summary of inputs if licensing parameters were set.
Example output:

Summary of your inputs

CheckLang Yes
CheckPerms No
ConfProduct W
Group sys
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
REPflag No
RFSflag No
ScriptVersion 81
Serial 12345678
Startud Yes
UdtBin /disk1/ud81/bin
UdtHome /disk1/ud81
UnisharedDir /disk1/unishared
WorkDir /disk1/ud81/work

Are these values correct? [Yes]:

11. Review Licensing Input Data (for Authorization mode ‘W’ or ‘CW’ only).
UniData displays a summary of the information input at each of the licensing prompts before
proceeding with the installation. These options will only display if the ‘W’ or ‘CW’ authorization
options are used. Review the summary carefully. If all values are correct, press Enter. If a prompt
is incorrect answer No, and then restart the installation to correct the value.
Example output:

Summary of your licensing inputs

LicCompany My Company
LicContact My Name
LicEDA Yes
LicEmail myname@myco.com
LicExpiryDate 01/01/4000
LicNFA Yes
LicNumCP 0
LicNumDL 10
LicNumUsers 25
LicRFS Yes

138
Installation prompts – post licensing questions

LicReason Upgrading to UniData 8.1.0


LicSeasonal No
LicSubkey Yes
Serial 12345678

Are these values correct? [Yes]:

12. Proceed with the Installation Process.


This part of the installation process does the following:
▪ Performs some final checks/actions (backup, permission checks)
▪ Extracts the tar file into $UDTBIN (if not using udtinstall method of extract files first)
▪ Sets owner and group permissions on files
▪ Create and Update /usr/ud##, include, work, lib, log, license and edadrv_exam
directories
▪ Perform initial systest (only one if not using the licensing options)
▪ Create root certificate store (UDT 8.1+)
▪ Update licensing details and perform an additional systest (if licensing options were enabled)
▪ If RFS is enabled, initialize RFS log files using cntl_install
▪ For Linux only, add UniData bin directory to shared libraries
Example output (full systest output is suppressed here):

Performing final udtsetup checks...

Final udtsetup checks are complete. Proceeding with install.


Extracting tar file to /disk1/ud81/bin.

Changing files' ownership and group name ...

Creating /usr/ud81 directory...


Creating /usr/ud81/include directory...
Creating /disk1/ud81/work directory...
Creating /disk1/ud81/lib directory...
Creating /disk1/ud81/log directory...
Creating /disk1/ud81/license directory...
Creating /disk1/ud81/edadrv_exam directory...

Testing system configuration ...


< systest results shown here are suppressed from this example >

Updating /usr/ud81/include directory...


Updating /usr/ud81/ods directory...
Updating /disk1/ud81/lib directory...
Updating /disk1/ud81/sys directory...
Creating /disk1/ud81/demo directory...
Updating /disk1/ud81/work directory...
Updating /disk1/ud81/objcall directory...

Creating default root certificate store...

Checking UNIX system configuration for running UniData ...

Updating VOC files in /disk1/ud81/sys /disk1/ud81/demo ...

Updating Licensing Information...

Licensing changed, checking system configuration again.

< systest results shown here are suppressed from this example >

139
Appendix A: Introduction to udtsetup

Updating linux shared libraries to include /disk1/ud81/bin.

13. UniData startup.


If UniData was set to start at the end of the script or performing web authorization or performing
custom commands, UniData is started in an unauthorized state.
Example output:

Starting UniData in an unauthorized state...


Tue Jan 28 14:24:50 UniData has not been authorized.
Tue Jan 28 14:24:50 UniData RDBMS will stop in 10 days!

UniData has been started.

14. Web Authorization (Authorization Mode ‘W’ or ‘CW’ only)


If the web authorization options ‘W’ or ‘CW’ are used a call is made to the U2 Business Connect
authorization website. If the authorization was successful, then the licensing is refreshed.
Example output:

Calling Web Authorization API to license UniData.

Authorizing the database with license #12345678.


UniData has been authorized.
Refreshing UniData Licensing Status...

15. Custom commands.


If the custom commands script was found, it will be executed here. See Custom commands, on
page 197 for more details.
16. Installation complete.
If the ‘startud’ option was turned off during the install, UniData is stopped first. Finally, a
congratulations/completion message is displayed.
Example output:

Congratulations!
You have successfully installed Rocket UniData RDBMS 8.1.0.
UniData has already been started.

Post installation tasks


1. Check the udtsetup.log and udtsetup.warning.log.
The responses to the installation prompts and any messages directed to the terminal
screen are captured in the udtsetup.log located in $UDTBIN/saved_logs. Check the
udtsetup.log to ensure that no error messages appear in the log. If any error messages
appear, correct the indicated problems before proceeding. Warnings are also displayed in the
$UDTBIN/saved_logs/udtsetup.warning.log file. There are two other files stored in
$UDTBIN/saved_logs from this installation process. These are udtsetup.tarfile.out
which is the screen output for the extraction of the tar file and udtsetup.param which is the
parameter file that recorded on the prompts. See Parameter file, on page 178 for details on
using the parameter file.
2. Set environment variables.
Before you can test the installation by starting UniData (if not started during the installation)
and invoking a UniData session, you need to define the environment variables for UDTHOME and

140
Post installation tasks

UDTBIN. The LANG setting should also be set. The following examples show how to do this by
using the paths previously provided for UDTHOME and UDTBIN:

From the Bourne or Korn shell:


UDTHOME=/disk1/ud81;export UDTHOME
UDTBIN=/disk1/ud81/bin;export UDTBIN
LANG=C;export LANG

From the C shell:


% setenv UDTHOME /disk1/ud81
% setenv UDTBIN /disk1/ud81/bin
% setenv LANG C

From the Bash shell:


export UDTHOME=/disk1/ud81
export UDTBIN=/disk1/ud81/bin
export LANG=C

If you are using XML or for UniData 8.1+, you must also set your library path. At UniData 8.1.0, the
product uses more dynamic libraries than just the XML libraries.
The following list shows the library path environment variables by platform:
AIX LIBPATH=$LIBPATH:$UDTBIN
HP SHLIB_PATH=$SHLIB_PATH:$UDTBIN
SOLARIS LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
LINUX LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN

Note: For Linux, the UniData Bin (UDTBIN) path is automatically added to the system library
settings starting with UniData 8.1 during the install script.

Historical Platforms (No Longer Supported):

TRU64 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
SCO LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
3. Run makeudt.
If your application links in C routines with CALLC, you need to relink the new udt by running
makeudt now. For information on makeudt, see Administering UniData and Developing UniBasic
Applications.
4. Start UniData (if not started during the installation).
You can now start UniData with the startud command. The following example shows the output
from startud:
Example output:

# UDTBIN/startud
Using UDTBIN=/disk1/ud81/bin

All output and error logs have been saved


to /disk1/ud81/bin/saved_logs directory.

SMM is started.
Unirpcd is started
SBCS is started.
CLEANUPD is started.

141
Appendix A: Introduction to udtsetup

UniData R8.1 has been started.

You can now run UniData. Change directories using the UNIX cd command to the $UDTHOME/
demo account. Enter the full path name of the bin directory, followed by the udt command (if you
have set your environment variables, the default is udt, as shown in the following example) or
type $UDTBIN/udt at the prompt.
If you are using device licensing, enter udtts.

# cd $UDTHOME/demo
# udt
UniData Release 8.1 Build: (89262)
© Rocket Software, Inc. 1985-2015.
All rights reserved.

Current UniData home is /disk1/ud81/.


Current working directory is /disk1/ud81/demo.
:

Note: Before users can access UniData, you must set environment variables for all users.
Consider using a .login or .profile script. You can include the full UniData paths there. You also
need to make sure each user’s path includes the UDTBIN path. For detailed information about
this, see Administering UniData on UNIX.

Full example

# ./udtsetup
Welcome to the Rocket UniData RDBMS, performing startup tasks...
Extracting files needed during setup process...
Validating tar file.
Using /disk1/u2install/bin.tar during this process.

Welcome to the Rocket UniData RDBMS.

http://www.rocketsoftware.com/u2

License files are located in /license.

Do you accept the terms of the Software License Agreement (SLA)?

Enter Yes/No or D to display agreement [No]:


Yes

Enter the full path name of UniData home directory [/usr/ud81]:


/disk1/ud81
Creating ud81 directory in the /disk1 path.

WARNING: The path you selected does not equal UDTHOME.


The environment variable UDTHOME will be ignored and it
needs to be changed after the installation.

Enter the full path name of UniData bin directory [/disk1/ud81/bin]:

Creating bin directory in the /disk1/ud81 path.

142
Full example

WARNING: The path you selected does not equal UDTBIN.


The environment variable UDTBIN will be ignored and it
needs to be changed after the installation.

Starting the installation of UniData 8.1.0.

WARNING:

-- Environment variable LANG is not set to 'C'.


-- It will be set to 'C' by UniData during this installation.
-- See the Rocket UniData Installation Guide for more details.

Would you like to continue? [Yes]:

Enter the 'Install Serial Number' [serial_number]:


12345678

Authorization methods available:


N - None (Default) W - Web Authorization
C - Confprod CW - Confprod with Web Authorization

Select your authorization method [N]:


W
Enter the UniData base license count [32]:
25
Enter the UniData 'Connection Pooling' license count [0]:

Enter the UniData 'Device Licensing' license count [0]:


10
Do you want to enable 'NFA' licensing [No]:
Yes
Do you want to enable 'RFS' licensing [No]:
Yes
Do you want to enable 'EDA' licensing [No]:
Yes

Do you want to enable 'Subkey' licensing [No]:


Yes

Enter the UniData license expiration date [01/01/4000]:

Additional information is needed for web authorization.

Enter Company Name:


My Company
Enter Your Name:
My Name
Enter Your Email Address:
myname@myco.com
Enter a reason for the authorization request:
Upgrading to UniData 8.1.0
Do you want to authorize seasonal users [No]:

Additional licensing information prompts are complete.

Enter the full path name of work directory [/disk1/ud81/work]:

Enter the full path name of lib directory [/disk1/ud81/lib]:

143
Appendix A: Introduction to udtsetup

Enter the full path name of log directory [/disk1/ud81/log]:

Enter the full path name of unishared directory [/disk1/unishared]:

Enter a valid group name for changing files' group [sys]:

Turn on the Recoverable File System? [No]:

Turn on the Replication Subsystem? [No]:

Do you want to start UniData at the end of the install? [Yes]:

Do you want to log default permissions after the install? [No]:

Summary of your inputs

CheckLang Yes
CheckPerms No
ConfProduct W
Group sys
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
REPflag No
RFSflag No
ScriptVersion 81
Serial 12345678
Startud Yes
UdtBin /disk1/ud81/bin
UdtHome /disk1/ud81
UnisharedDir /disk1/unishared
WorkDir /disk1/ud81/work

Are these values correct? [Yes]:

Summary of your licensing inputs

LicCompany My Company
LicContact My Name
LicEDA Yes
LicEmail myname@myco.com
LicExpiryDate 01/01/4000
LicNFA Yes
LicNumCP 0
LicNumDL 10
LicNumUsers 25
LicRFS Yes
LicReason Upgrading to UniData 8.1.0
LicSeasonal No
LicSubKey Yes
Serial 12345678

Are these values correct? [Yes]:

Performing final udtsetup checks...

Final udtsetup checks are complete. Proceeding with install.


Extracting tar file to /disk1/ud81/bin.

Changing files' ownership and group name ...

144
Full example

Creating /usr/ud81 directory...


Creating /usr/ud81/include directory...
Creating /disk1/ud81/work directory...
Creating /disk1/ud81/lib directory...
Creating /disk1/ud81/log directory...
Creating /disk1/ud81/license directory...
Creating /disk1/ud81/edadrv_exam directory...

Testing system configuration ...


< systest results shown here are suppressed from this example >

Updating /usr/ud81/include directory...


Updating /usr/ud81/ods directory...
Updating /disk1/ud81/lib directory...
Updating /disk1/ud81/sys directory...
Creating /disk1/ud81/demo directory...
Updating /disk1/ud81/work directory...
Updating /disk1/ud81/objcall directory...

Creating default root certificate store...

Checking UNIX system configuration for running UniData ...

Updating VOC files in /disk1/ud81/sys /disk1/ud81/demo ...

Updating Licensing Information...

Licensing changed, checking system configuration again.

< systest results shown here are suppressed from this example >

Updating linux shared libraries to include /disk1/ud81/bin.

Installing unishared components...


Installed /disk1/unishared/icsdk version 3.0.8.
Installed /disk1/unishared/unirpc version 11.2.3.
Updating /disk1/unishared/sharedby...
Updating /disk1/unishared/unirpc/unirpcservices...
Completed Unishared/UniRPC installation.

Creating logs directory.


Creating logs/output directory.
Creating logs/config directory.
Creating logs/sample_config directory.

Updating UD.ACCOUNT file...

Starting UniData in an unauthorized state...


Tue Jan 28 14:24:50 UniData has not been authorized.
Tue Jan 28 14:24:50 UniData RDBMS will stop in 10 days!

UniData has been started.

Calling Web Authorization API to license UniData.

Authorizing the database with license #12345678.


UniData has been authorized.
Refreshing UniData Licensing Status...

Congratulations!

145
Appendix A: Introduction to udtsetup

You have successfully installed Rocket UniData RDBMS 8.1.0.


UniData has already been started.

Upgrading UniData
Follow the steps in this section for an upgrade (Upgrade Installation) or Patch Upgrade (Patch
Installation). Text referring to ## means the major UniData version, for example 73, 81, etc.
The examples in this section will show an upgrade installation, specifically, upgrading from UniData
7.3.6 to UniData 8.1.0 in the /disk1/unidata directory. Only the UniData 8.1.0 upgrade portion will
be shown. The UDTHOME and UDTBIN variables have already been defined in this example. The
permissions and backup/restore features are shown here as well.
The only difference between the two upgrade types is that the ‘upgrade (Upgrade Installation)’
upgrades between major UniData versions (7.2.0 to 7.3.6) and the Patch Upgrade upgrades between
point releases at the same version (8.1.1 to 8.1.4). Typically, the UniData home directory would
remain the same in this scenario. If it does change then the script will copy the current UniData home
directory.
On UniData for UNIX/Linux, answers to the prompts in the udtsetup script are kept in the
udtsetup.param file located in $UDTBIN/saved_logs. See the Parameter file, on page 178 for
more information on the use of the parameter file.
All screen messages are written to the /tmp/udtsetup.partial.log file. After the installation/upgrade
completes, the file is moved to the $UDTBIN/saved_logs/udtsetup.log file. There is also a /
tmp/udtsetup.warning.log file that is moved to $UDTBIN/saved_logs after completion.
With installation using udtsetup, you can extract files to $UDTBIN first, then run udtsetup as it was
used with the udtinstall/updatesys previously. This method is not supported when performing an
upgrade. The process will prompt for a tar file location. This limitation is deliberate because if files
are extracted to $UDTBIN before starting the udtsetup process, the effectiveness of the permissions
validation and backup/restore features is negated.

Step-by-step upgrade of UniData for UNIX/Linux


You must be logged in as root to perform the upgrade.

Note: If you are upgrading from an older major UDT version, the archconfig and logconfig files
in the configuration path are renamed to avoid starting up two versions of the database and
corrupting RFS information. This does not apply to concurrent or new installs.

Note: If you are doing an upgrade and the UDTHOME/UDTBIN environment variables are already
set (and are set to /usr/ud## and /usr/ud##/bin), the udthome and udtbin prompts are skipped.

1. Copy the UniData media (bin.tar file) to local directory (not $UDTBIN) on server.
2. Download the media from https://u2tc.rocketsoftware.com for the United States and Canada, or
https://u2tcint.rocketsoftware.com for regions outside of North America. The media is normally
stored in zip format on these servers.
3. Unzip these files and copy the bin.tar file to your UNIX/Linux server.
It is recommended to place the file outside your planned $UDTHOME or $UDTBIN directories.
4. Extract the udtsetup script from the media.
5. Execute the script with this command:

146
Step-by-step upgrade of UniData for UNIX/Linux

tar –xvf bin.tar udtsetup


There are several ways to retrieve the location of the tar file to be used, see Tar file extraction
options, on page 184 for more details.
Example output:
# tar -xvf bin.tar udtsetup
udtsetup
6. Execute the ./udtsetup script by entering ./udtsetup at the system prompt.
The script will perform some startup tasks, such as extracting the necessary files needed during
the process, validating that the tar file provided is for the correct platform, and performing any
other validation tests to confirm the UniData executables will work properly on your system. After
the validations are done the screen is cleared and the software license agreement prompt will be
displayed.
Example output:

Welcome to the Rocket UniData RDBMS, performing startup tasks...


Extracting files needed during setup process...
Validating tar file.
Using /disk1/u2install/bin.tar during this process.

<screen is cleared>

7. Answer Yes to the Software License Agreement. You can type D to display the license details. All
other answers will abort the installation.
Example output:

Welcome to the Rocket UniData RDBMS.


http://www.rocketsoftware.com/u2
License files are located in /license.
Do you accept the terms of the Software License Agreement (SLA)?
Enter Yes/No or D to display agreement [No]:
Yes

8. Enter the UniData home directory.


The default value for this prompt is found by first checking for $UDTHOME being set, then the
location in /usr/ud##/path## file, otherwise, the default of /usr/ud## is used. This prompt
was not used in the udtinstall/updatesys method of installation.
If the value used in this prompt does not exist as a directory, then it will be created. The parent
directory of UniData home is not created here. If the UniData home fails the directory creation,
the upgrade will abort. If this directory was created during the script and the upgrade aborts for
other reasons later on then this directory is removed.
If the UDTHOME variable is not set a warning is displayed.
Example output:

Enter the full path name of UniData bin directory [/disk1/unidata/bin]:

9. Select Upgrade or Concurrent.


Since UniData has been detected on the system, an upgrade question is displayed. Answer Yes
or Enter to perform an upgrade or No to select a Concurrent Install (run two major versions at
the same time). This prompt will be skipped if updating to patch version within the same major
version.
Example output:
Do you want to upgrade UniData (type No for Concurrent)? [Yes]:
10. Select the major version from which to upgrade.

147
Appendix A: Introduction to udtsetup

If more than one major version of UniData is found on the system then a prompt will display
asking which version to upgrade from. Only the versions found will be listed and the latest version
found will be the default value. If only one major version was found on the system, then this
prompt is skipped.
Example output:

Previous major versions installed are:


72,73

Enter the UniData version to be upgraded [73]:

11. Installation type is displayed.


The type of installation and version are displayed here. If you use the ‘-sb’ option, the build
number will be displayed, if possible.
Example output:

Starting the upgrade of UniData from 7.3.6 to 8.1.0.

12. LANG variable warning is displayed. The UNIX LANG environment variable affects the behavior
of UniData. Before you install UniData, you should be aware of the consequences of using a
LANG setting other than “C.” If you use a LANG setting other than “C,” note that certain UniData
commands may cause unpredictable results, such as the UniBasic UPCASE and DOWNCASE
commands, and the MCU and MCL conversion codes.
If you are installing UniData in an environment that does not support ASCII characters 250
through 255, and ASCII character 192 as internal markers, read the UniData International Guide
before proceeding with the installation.

Tip: We strongly recommend that the value of LANG is consistent for all users. Consider
setting the LANG environment variable in the .profile or .login script.

a. When choosing a LANG setting for your system, make sure the LANG setting you choose is
supported by UniData.
b. To find the supported LANG settings for your system, execute the locale -a command, as
shown in the following example:

# locale -a
C
POSIX
C.iso88591
C.utf8
univ.utf8
ar_DZ.arabic8
ar_SA.arabic8
ar_SA.iso88596
bg_BG.iso88595
cs_CZ.iso88592
da_DK.iso88591
da_DK.roman8
nl_NL.iso88591
nl_NL.roman8

c. During the installation process, UniData changes the LANG environment variable to “C” for
installation processing and displays the following message. Answer Yes to continue.
Example output:

WARNING:

148
Step-by-step upgrade of UniData for UNIX/Linux

-- Environment variable LANG is not set to 'C'.


-- It will be set to 'C' by UniData during this installation.
-- See the Rocket UniData Installation Guide for more details.

Would you like to continue? [Yes]:

13. Enter the serial number found in Rocket U2 license correspondence. This information is not
required as part of the installation. On an upgrade, this prompt will default to the previous serial
number used.
Example output:
Enter the 'Install Serial Number' [12345678]:
14. Enter the serial number found in Rocket U2 license correspondence. This information is not
required as part of the installation. On an upgrade, this prompt will default to the previous serial
number used.
Example output:

Enter the 'Install Serial Number' [serial_number]:


12345678

15. Enter your authorization method.


There are four valid authorization methods available in udtsetup, details are:
▪ N – None. No licensing prompts are shown including request for confprod.
▪ W –  Web Authorization. Follow up questions are shown for each of the licensing items after
this question. At the end of the script, UniData is started and a call is made the the U2 Business
Connect website to validate the licensing. If an authorization code is returned UniData will be
authorized.
▪ C –  Confprod. Confprod is called to do licensing. If this mode is used a warning is displayed if
your term type does not work properly. Confprod needs vt100 emulation to work properly.
▪ CW – Confprod with Web Authorization.  Still use confprod (see other options for term type
warning). Then makes same calls that the ‘W – Web Authorization’ option uses.
The ‘W’ and ‘CW’ options will only display if the UniData version being installed/upgraded to is
UniData 7.2.0 or later.
If the ‘W’ option is used and the authorization process fails, the licensing values are still set on the
system and a message is displayed on how to correct the problem.
If using Personal Edition, all of the authorization methods are skipped.
See Web authorization, on page 185 for more details.
Example output:

Authorization methods available:


N - None (Default) W - Web Authorization
C - Confprod CW - Confprod with Web Authorization

Select your authorization method [N]:


W

16. Enter the UniData Work directory.


The system displays the work directory where it will load the files to rebuild UniData based on the
location of udthome you entered in step 4 of Installation prompts – post licensing questions, on
page 136.
If the path UniData displays is correct, press Enter. If you want the location of your work directory
in another location, specify the directory.
If the directory existed previously an overwrite message is also displayed.

149
Appendix A: Introduction to udtsetup

Example output:

Enter the full path name of work directory [/disk1/unidata/work]:

/disk1/unidata/work exists, overwrite it? [Yes]:

17. Enter the UniData Lib directory.


This directory contains libraries for all UniData executables. UniData displays the path where
it will load this directory based on the location of udthome you entered in step 4 of Installation
prompts – post licensing questions, on page 136.
If the path UniData displays is correct, press Enter. If you want the location of the lib directory in
another location.
Example output:

Enter the full path name of lib directory [/disk1/unidata/lib]:

18. Enter the location of the log files.


This directory contains the location where UniData will build the log files for the Recoverable
File System (RFS) based on the location of udthome you entered previously. This is also the
parent directory of where the default location for the replication logs (REP_LOG_PATH setting
in udtconfig). If the path UniData displays is correct, press Enter. If you want the log files in
another directory, enter the full path. You do not have to create the log file directory prior to the
installation/upgrade.
Example output:

Enter the full path name of log directory [/disk1/unidata/log]:

19. Enter the location of the unishared directory.


The unishared directory contains files necessary for the unircpd daemon. Press Enter to accept
the default location of udthome/unishared, or enter an alternate path. In the example below, the
/.unishared file already existed so the location was read from that file.
Example output:

Enter the full path name of unishared directory [/disk1/unishared]:

20. Enter a group name.


UniData uses the group name associated with the root login name. If the group name displayed
is correct, press Enter. If the default is not correct, enter the correct group name: On an upgrade,
this defaults to the current group set on the $UDTBIN/smm file.
Example output:

Enter a valid group name for changing files' group [sys]:

21. Optional: Enable Recoverable File System (RFS).


The configuration files needed for Recoverable File System (RFS) are automatically created with
udtsetup. This was not the case with udtinstall/updatesys. Previously it required you to reinstall
or manually create the configuration files.
This prompt asks if you want to enable RFS. If this prompted is answered Yes, then the SB_FLAG
setting in udtconfig enabled and cntl_install is ran to initialize the logs. If this prompted is
answered Yes but licensing was done during this script and RFS was not enabled in the licensing,
then this RFS flag will be disabled. RFS is a purchased add-on.
This prompt will default to the previous setting for RFS on upgrades.
Example output:

Turn on the Recoverable File System? [No]:

150
Backup questions

Yes

22. Optional: Enable Replication.


The configuration files needed for Replication are automatically created with udtsetup. This was
not the case with udtinstall/updatesys. Previously it required you to reinstall or manually create
the configuration files.
This prompt only asks if you want to enable Replication. If this prompted is answered Yes, then
the REP_FLAG setting in udtconfig is enabled.
This prompt will default to the previous setting on upgrades. If replication is not enabled the
configuration files will use the default system id, which is hostname_UniData Major
Version.
Example output:

Turn on the Replication Subsystem? [No]:


Yes

23. Start UniData automatically at the end of script.


Udtsetup added a new prompt that is enabled by default to start UniData at the end of the
installation/upgrade. Answer No if you do not want UniData to start at the end of the script.
Example output:

Do you want to start UniData at the end of the install? [Yes]:

Backup questions
Backup files are stored in tar format. Key directories are backed up to either a designated directory or
the parent directory of each path. Key directories/files for the core UniData product can be backed up.
User directories will not be backed up within this functionality. The default for this option is No, so if a
backup is desired you must type Yes.
See Backup/restore control file, on page 188 for details about Backup/Restore functionality,
including additional commands and details on what is backed up.
During an upgrade, you will need to answer the following questions about backup files:

Backup – Yes/No flag


Answer ‘Yes’ if you want to enable the backup feature
Example output:

Backup the existing directories? [No]:


Yes

Specify backup location


The location of where the tar files are created during the backup process can be either:
▪ A directory path - The directory path must exist. The udtsetup script will not create the directory
path.
▪ ‘parent’ is selected - The files are stored in the parent directory.
Backup files will be created in tar format.

151
Appendix A: Introduction to udtsetup

Example output:

Where do you want to backup UniData to? [parent]:


/disk1/backups

Specify Backup file prefix


Specify the prefix that should be included on the front of each file name backed up. The example
below shows the default, the user can change this to a different name if desired. All files will end in .tar
since they are tar files.
Example output:
What prefix should the backup files use? [udtbackup_20140131_]:

Permission questions
Log Default Permissions

Ask to check permissions


A new feature in udtsetup is the ability to track permission changes. The default for this prompt is No.
Default permissions can be logged during the installation, so that if a permissions issue arises later
an option can be run with udtsetup to restore the permissions at time of installation/upgrade. See
Permission questions, on page 152 for more details on the permissions features.
This prompt is slightly different between installations and upgrades. This was done because there is
no need to ‘check permissions’ after an installation since the defaults will still be set. If either question
is answered with Yes, then permissions can be set back after the process is complete.
Example output:
On Installs it is:
Do you want to log default permissions after the install? [No]:
On Upgrades it is:

Do you want to check permissions after the upgrade? [No]:


Yes

Fix permissions
On upgrades, a second question asks if you want to restore the permissions changed during the
upgrade process back to what was previously used. The new permissions list is generated after the fix
permission work is done.
Example output:

If differences are found, do you want to fix the permissions? [No]:


Yes

Upgrade prompts – post backup and permissions questions


1. Review Input Data.

152
Upgrade prompts – post backup and permissions questions

UniData displays a summary of the information input at each prompt before proceeding with
the installation. Review the summary carefully. If all values are correct, press Enter. If a prompt
is incorrect answer No, and then restart the installation to correct the value. There is a second
summary of inputs if licensing parameters were set.
Example output:

Summary of your inputs

Backup Yes
BackupDir /disk1/backups
BackupPrefix udtbackup_20140131_
CheckPerms Yes
ConfProduct N
FixPerms Yes
Group sys
LibDir /disk1/unidata/lib
LogDir /disk1/unidata/log
OverWrite Yes
PreviousVer 73
REPflag No
RFSflag No
ScriptVersion 81
Serial 12345678
Startud Yes
UdtBin /disk1/unidata/bin
UdtHome /disk1/unidata
UnisharedDir /disk1/unishared
Upgrade Yes
WorkDir /disk1/unidata/work

Are these values correct? [Yes]:

2. Review Licensing Input Data (for Authorization mode ‘W’ or ‘CW’ only).
UniData displays a summary of the information input at each of the licensing prompts before
proceeding with the installation. These options will only display if the ‘W’ or ‘CW’ authorization
options are used. Review the summary carefully. If all values are correct, press Enter. If a prompt
is incorrect answer No, and then restart the installation to correct the value.
Example output:

Summary of your licensing inputs

LicCompany My Company
LicContact My Name
LicEDA Yes
LicEmail myname@myco.com
LicExpiryDate 01/01/4000
LicNFA Yes
LicNumCP 0
LicNumDL 10
LicNumUsers 25
LicRFS Yes
LicReason Upgrading to UniData 8.1.0
LicSeasonal No
LicSubkey Yes
Serial 12345678

Are these values correct? [Yes]:

3. Stop Existing UniData and verify files are not in use.


After validating the inputs, the work of the upgrade process begins. This includes:

153
Appendix A: Introduction to udtsetup

▪ The existing UniData process is stopped.


▪ If Unirpcd is shared between other U2 Database versions (UV or UDT), the UniRpc can be
stopped. This is not shown in the example below. It does allow the option to proceed with
the upgrade even if Unirpcd is running. If that option is selected, a series of steps is displayed
explaining how to upgrade the unirpc file manually.
▪ Next, ‘fuser’ is used in the script to verify that all executables in the $UDTBIN directory are not
in use. If a file is in use, the upgrade process aborts. If this validation is not done, it can cause
executables from both old and new UniData versions to be mixed.
▪ The ‘fuser’ check is also done for the unirpcd file (if the stop of the unirpcd was confirmed
above).
Example output:

Performing final udtsetup checks...

WARNING: UniData is still running, it will be stopped with


force. This may not guarantee the consistency of your
database files, so we recommend that you stop the system
with 'stopud' before upgrading UniData.

Would you like to continue? [Yes]:

UniData has been stopped.

Verifying /disk1/unidata/bin files are not in use.

Verifying that the unirpcd file is not in use.

4. Perform Backup Steps (if selected).


This step shows the backup directory and prefix, and backs up the /usr/ud##, $UDTBIN, lib,
sys, and other files. Only one backup is recorded in UniData logs. You can see the files with the
‘udtsetup –lb’ option (list backups).
Example output:

Backing up UniData to the /disk1/backups directory.


Backup files will have this prefix: udtbackup_20140131_

Backing up /usr/ud81...
Backing up /disk1/unidata/bin...
Backing up /disk1/unidata/lib...
Backing up /disk1/unidata/sys...
Backing up /disk1/unidata/parttbl...
Backing up /disk1/unidata/demo...
Backing up /disk1/unidata/logs...
Backing up /disk1/unidata/objcall...
Backing up /disk1/unidata/work...
Backing up /disk1/unishared...
Backup process has completed.

5. Existing files permission list is generated (if selected).


The bulk of the permission verification is done later in the upgrade process, but before files are
extracted to the $UDTBIN directory and other locations, a list of the current permissions must be
generated first.
Example output:
Generating existing permissions list...
6. Files extracted to UniData bin and permission changes.

154
Upgrade prompts – post backup and permissions questions

Now that backup and permissions checks are done, the UniData bin directory can be changed.
Files are extracted to UDTBIN and the permissions are set on the files. This permissions change is
still done if performing permission verification steps.
Example output:

Final udtsetup checks are complete. Proceeding with upgrade.


Extracting tar file to /disk1/unidata/bin.

Changing files' ownership and group name ...

Found license file in current directory, made a copy of it.

7. Transfer Master Key.


The Master Key is used for Automatic Data Encryption (included with UDT 7.2+). If this feature is
used to encrypt your data files, then this prompt should be answered with Yes. Otherwise, press
Enter to continue.
Example output:

If you have previously set up a master key for data encryption, we


recommend that you keep it for the new installation.

Do you want to transfer the master key? [No]:

You chose not to the transfer master key.


You can transfer the master key later by running 'confcmd -t <source>,<target>'.

Following is an example if the master key was transferred (not shown in the full example):

If you have previously set up a master key for data encryption, we


recommend that you keep it for the new installation.

Do you want to transfer the master key? [No]:


Yes
confcmd: master key transfer was successful, please restart UniData for it to ta
ke effect.

The master key was successfully transferred.


8. Proceed with the Upgrade Process.
This part of the upgrade process does the following:
▪ Create and Update /usr/ud##, include, work, lib, log, license and edadrv_exam
directories
▪ Perform initial systest (only one if not using the licensing options)
▪ Create root certificate store (UDT 8.1+)
▪ Update licensing details and perform an additional systest (if licensing options were enabled)
▪ Updatevoc is run in default installation directories (if UDT_LANGGRP in udtconfig matches)
▪ If RFS is enabled, initialize RFS log files using cntl_install
▪ For Linux only, add UniData bin directory to shared libraries
Example output (full systest output is suppressed here):

Creating /usr/ud81 directory...


Creating /usr/ud81/include directory...
Migrating data from /usr/ud81/include to /usr/ud81/include.

Testing system configuration ...

155
Appendix A: Introduction to udtsetup

< systest results shown here are suppressed from this example >

Updating /usr/ud81/include directory...


Updating /usr/ud81/ods directory...
Updating /disk1/unidata/lib directory...
Updating /disk1/unidata/sys directory...
Updating /disk1/unidata/demo directory...
Updating /disk1/unidata/work directory...
Updating /disk1/unidata/objcall directory...

Creating default root certificate store...

Checking UNIX system configuration for running UniData ...

Updating VOC files in /disk1/unidata/sys /disk1/unidata/demo ...

Updating linux shared libraries to include /disk1/unidata/bin.

9. Installation/upgrade the UniRPC unishared components on the system


Example output:

Installing unishared components...


Installed /disk1/unishared/icsdk version 3.0.8.
Installed /disk1/unishared/unirpc version 11.2.3.
Installed /disk1/unishared/uojsdk version 3.1.0.
Installed /disk1/unishared/jdbc version 1.160.0.
Updating /disk1/unishared/sharedby...
Updating /disk1/unishared/unirpc/unirpcservices...
Completed Unishared/UniRPC upgrade.

10. Permissions verification.


If the permissions checks were enabled, the work is done here. A new list is generated, then
the old and new list are compared. A status update is displayed as every 500 files are checked.
This is done because this permissions verification step may take a couple of minutes. The types
of permissions changes checked are: owner, group, permissions and file type. See Permission
questions, on page 152 for more details.
The number of differences are displayed, then permissions are fixed (if enabled) and a new list is
generated.
Example output:

Performing permission differences checking...


Now passing 500 of 2262 file checks...
Now passing 1000 of 2262 file checks...
Now passing 1500 of 2262 file checks...
Now passing 2000 of 2262 file checks...

Number of file permission differences found: 9


Run udtsetup with '-lp' option to see differences.

Fixing permissions...
Generating new permissions list...

11. The UD.ACCOUNT file is updated.


This command does a search of the system for UniData VOC files. In case this process takes a
while, it has a two-minute timeout.
Example output:
Updating UD.ACCOUNT file...

156
Post upgrade tasks

12. UniData startup.


If UniData was set to start at the end of the script or performing web authorization or performing
custom commands, UniData is started in an unauthorized state.
Example output:

Starting UniData in an unauthorized state...


Tue Jan 28 14:24:50 UniData has not been authorized.
Tue Jan 28 14:24:50 UniData RDBMS will stop in 10 days!

UniData has been started.

13. Web Authorization (Authorization Mode ‘W’ or ‘CW’ only)


If the web authorization options ‘W’ or ‘CW’ are used a call is made to the U2 Business Connect
authorization website. If the authorization was successful, then the licensing is refreshed.
Example output:

Calling Web Authorization API to license UniData.

Authorizing the database with license #12345678.


UniData has been authorized.
Refreshing UniData Licensing Status...

14. Custom commands.


If the custom commands script was found, it will be executed here. See Custom commands, on
page 197 for more details.
15. Installation complete.
If the ‘startud’ option was turned off during the install, UniData is stopped first. Finally, a
congratulations/completion message is displayed.
Example output:

Congratulations!
You have successfully installed Rocket UniData RDBMS 8.1.0.
UniData has already been started.

Post upgrade tasks


1. Check the udtsetup.log and udtsetup.warning.log.
The responses to the installation prompts and any messages directed to the terminal
screen are captured in the udtsetup.log located in $UDTBIN/saved_logs. Check the
udtsetup.log to ensure that no error messages appear in the log. If any error messages
appear, correct the indicated problems before proceeding. Warnings are also displayed in the
$UDTBIN/saved_logs/udtsetup.warning.log file. There are two other files stored in
$UDTBIN/saved_logs from this installation process. These are udtsetup.tarfile.out
which is the screen output for the extraction of the tar file and udtsetup.param which is the
parameter file that recorded on the prompts. See Parameter file, on page 178 for details on
using the parameter file.
2. Set environment variables.
Before you can test the installation by starting UniData (if not started during the installation)
and invoking a UniData session, you need to define the environment variables for UDTHOME and
UDTBIN. The LANG setting should also be set. The following examples show how to do this by
using the paths previously provided for UDTHOME and UDTBIN:

From the Bourne or Korn shell:

157
Appendix A: Introduction to udtsetup

UDTHOME=/disk1/ud81;export UDTHOME
UDTBIN=/disk1/ud81/bin;export UDTBIN
LANG=C;export LANG

From the C shell:


% setenv UDTHOME /disk1/ud81
% setenv UDTBIN /disk1/ud81/bin
% setenv LANG C

From the Bash shell:


export UDTHOME=/disk1/ud81
export UDTBIN=/disk1/ud81/bin
export LANG=C

If you are using XML or for UniData 8.1+, you must also set your library path. At UniData 8.1.0, the
product uses more dynamic libraries than just the XML libraries.
The following list shows the library path environment variables by platform:

AIX LIBPATH=$LIBPATH:$UDTBIN
HP SHLIB_PATH=$SHLIB_PATH:$UDTBIN
SOLARIS LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
LINUX LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN

Note: For Linux, the UniData Bin (UDTBIN) path is automatically added to the system library
settings starting with UniData 8.1 during the install script.

Historical Platforms (No Longer Supported):


TRU64 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
SCO LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
3. Run makeudt.
If your application links in C routines with CALLC, you need to relink the new udt by running
makeudt now. For information on makeudt, see Administering UniData and Developing UniBasic
Applications.
4. Start UniData (if not started during the installation).
You can now start UniData with the startud command. The following example shows the output
from startud:
Example output:

# UDTBIN/startud
Using UDTBIN=/disk1/ud81/bin

All output and error logs have been saved


to /disk1/ud81/bin/saved_logs directory.

SMM is started.
Unirpcd is started
SBCS is started.
CLEANUPD is started.

UniData R8.1 has been started.

You can now run UniData. Change directories using the UNIX cd command to the $UDTHOME/
demo account. Enter the full path name of the bin directory, followed by the udt command (if you

158
Full example

have set your environment variables, the default is udt, as shown in the following example) or
type $UDTBIN/udt at the prompt.
If you are using device licensing, enter udtts.

# cd $UDTHOME/demo
# udt
UniData Release 8.1 Build: (89262)
© Rocket Software, Inc. 1985-2015.
All rights reserved.

Current UniData home is /disk1/ud81/.


Current working directory is /disk1/ud81/demo.
:

Note: Before users can access UniData, you must set environment variables for all users.
Consider using a .login or .profile script. You can include the full UniData paths there. You also
need to make sure each user’s path includes the UDTBIN path. For detailed information about
this, see Administering UniData on UNIX.

5. After the upgrade has completed the udtsetup script and bin.tar file can be removed from
the system. To reinstall UniData, the media will need to be copied to the server and udtsetup will
need to be extracted again.

Full example

# ./udtsetup
Welcome to the Rocket UniData RDBMS, performing startup tasks...
Extracting files needed during setup process...
Validating tar file.
Using /disk1/u2install/bin.tar during this process.

Welcome to the Rocket UniData RDBMS.

http://www.rocketsoftware.com/u2

License files are located in /disk1/unidata/bin/license.

Do you accept the terms of the Software License Agreement (SLA)?

Enter Yes/No or D to display agreement [No]:


Yes

Enter the full path name of UniData home directory [/disk1/unidata]:

Enter the full path name of UniData bin directory [/disk1/unidata/bin]:

Do you want to upgrade UniData (type No for Concurrent)? [Yes]:

Previous major versions installed are:


72,73

Enter the UniData version to be upgraded [73]:

Starting the upgrade of UniData from 7.3.6 to 8.1.0.

Enter the 'Install Serial Number' [12345678]:

159
Appendix A: Introduction to udtsetup

Authorization methods available:


N - None (Default) W - Web Authorization
C - Confprod CW - Confprod with Web Authorization

Select your authorization method [N]:

Enter the full path name of work directory [/disk1/unidata/work]:

/disk1/unidata/work exists, overwrite it? [Yes]:

Enter the full path name of lib directory [/disk1/unidata/lib]:

Enter the full path name of log directory [/disk1/unidata/log]:

Enter the full path name of unishared directory [/disk1/unishared]:

Enter a valid group name for changing files' group [sys]:

Turn on the Recoverable File System? [No]:

Turn on the Replication Subsystem? [No]:

Do you want to start UniData at the end of the upgrade? [Yes]:

Backup the existing directories? [No]:


Yes
Where do you want to backup UniData to? [parent]:
/disk1/backups
Backup files will be created in tar format.

What prefix should the backup files use? [udtbackup_20140131_]:

Do you want to check permissions after the upgrade? [No]:


Yes
If differences are found, do you want to fix the permissions? [No]:
Yes

Summary of your inputs

Backup Yes
BackupDir /disk1/backups
BackupPrefix udtbackup_20140131_
CheckPerms Yes
ConfProduct N
FixPerms Yes
Group sys
LibDir /disk1/unidata/lib
LogDir /disk1/unidata/log
OverWrite Yes
PreviousVer 73
REPflag No
RFSflag No
ScriptVersion 81
Serial 12345678
Startud Yes
UdtBin /disk1/unidata/bin
UdtHome /disk1/unidata
UnisharedDir /disk1/unishared
Upgrade Yes
WorkDir /disk1/unidata/work

160
Full example

Are these values correct? [Yes]:

Performing final udtsetup checks...

WARNING: UniData is still running, it will be stopped with


force. This may not guarantee the consistency of your
database files, so we recommend that you stop the system
with 'stopud' before upgrading UniData.

Would you like to continue? [Yes]:

UniData has been stopped.

Verifying /disk1/unidata/bin files are not in use.

Verifying that the unirpcd file is not in use.

Backing up UniData to the /disk1/backups directory.


Backup files will have this prefix: udtbackup_20140131_

Backing up /usr/ud81...
Backing up /disk1/unidata/bin...
Backing up /disk1/unidata/lib...
Backing up /disk1/unidata/sys...
Backing up /disk1/unidata/parttbl...
Backing up /disk1/unidata/demo...
Backing up /disk1/unidata/logs...
Backing up /disk1/unidata/objcall...
Backing up /disk1/unidata/work...
Backing up /disk1/unishared...
Backup process has completed.

Generating existing permissions list...

Final udtsetup checks are complete. Proceeding with upgrade.


Extracting tar file to /disk1/unidata/bin.

Changing files' ownership and group name ...

Found license file in current directory, made a copy of it.

If you have previously set up a master key for data encryption, we


recommend that you keep it for the new installation.

Do you want to transfer the master key? [No]:

You chose not to the transfer master key.


You can transfer the master key later by running 'confcmd -t <source>,<target>'.
Creating /usr/ud81 directory...
Creating /usr/ud81/include directory...
Migrating data from /usr/ud81/include to /usr/ud81/include.

Testing system configuration ...

< systest results shown here are suppressed from this example >

Updating /usr/ud81/include directory...


Updating /usr/ud81/ods directory...
Updating /disk1/unidata/lib directory...
Updating /disk1/unidata/sys directory...

161
Appendix A: Introduction to udtsetup

Updating /disk1/unidata/demo directory...


Updating /disk1/unidata/work directory...
Updating /disk1/unidata/objcall directory...

Creating default root certificate store...

Checking UNIX system configuration for running UniData ...

Updating VOC files in /disk1/unidata/sys /disk1/unidata/demo ...

Updating linux shared libraries to include /disk1/unidata/bin.

Installing unishared components...


Installed /disk1/unishared/icsdk version 3.0.8.
Installed /disk1/unishared/unirpc version 11.2.3.
Installed /disk1/unishared/uojsdk version 3.1.0.
Installed /disk1/unishared/jdbc version 1.160.0.
Updating /disk1/unishared/sharedby...
Updating /disk1/unishared/unirpc/unirpcservices...
Completed Unishared/UniRPC upgrade.

Performing permission differences checking...


Now passing 500 of 2262 file checks...
Now passing 1000 of 2262 file checks...
Now passing 1500 of 2262 file checks...
Now passing 2000 of 2262 file checks...

Number of file permission differences found: 9


Run udtsetup with '-lp' option to see differences.

Fixing permissions...
Generating new permissions list...
Updating UD.ACCOUNT file...

Starting UniData...
Fri Jan 31 15:59:53 UniData has not been authorized.
Fri Jan 31 15:59:53 UniData RDBMS will stop in 10 days!

UniData has been started.

Congratulations!
You have successfully upgraded to Rocket UniData RDBMS 8.1.0.
UniData has already been started.

Concurrent Installation of UniData


Follow the steps in this section for a concurrent installation of UniData. Text referring to ## means the
major UniData version, for example 73, 81, etc.  A concurrent installation happens when installing a
second major version of UniData, where the paths are different for each major UniData version.
The examples will show a concurrent installation. UniData 7.3.6 was previously installed /disk1/
ud81 on this system and UniData 8.1.0 is being added to /disk1/ud81. This example also shows the
Recoverable File System (RFS) and Replication prompts.
The UDTHOME and UDTBIN variables should be adjusted before starting the UniData 8.1 installation. If
not adjusted, then change the directories in the UniData home and bin directory prompts.

162
Step-by-step upgrade of UniData for UNIX/Linux

On UniData for UNIX/Linux, answers to the prompts in the udtsetup script are kept in the
udtsetup.param file located in $UDTBIN/saved_logs. See Parameter file, on page 178 for
more information on the use of the parameter file.
The udtsetup will create the UniData home and bin directories during the install. If the install aborts,
these directories will be deleted. The parent directory of UniData home will not be created during the
script.
All screen messages are written to the /tmp/udtsetup.partial.log file. After the installation/
upgrade completes, the file is moved to the $UDTBIN/saved_logs/udtsetup.log file. There is
also a /tmp/udtsetup.warning.log file that is moved to $UDTBIN/saved_logs after completion.

Step-by-step upgrade of UniData for UNIX/Linux


You must be logged in as root to perform the installation.
1. Copy the UniData media (bin.tar file) to local directory (not $UDTBIN) on server.
2. Download the media from https://u2tc.rocketsoftware.com for the United States and Canada, or
https://u2tcint.rocketsoftware.com for regions outside of North America. The media is normally
stored in zip format on these servers.
3. Unzip these files and copy the bin.tar file to your UNIX/Linux server.
It is recommended to place the file outside your planned $UDTHOME or $UDTBIN directories.
4. Extract the udtsetup script from the media.
5. Execute the script with this command:
tar –xvf bin.tar udtsetup
There are several ways to retrieve the location of the tar file to be used, see Tar file extraction
options, on page 184 for more details.
If performing an installation then you can extract the files to the $UDTBIN directory like
udtinstall/updatesys, but that is not the recommended manner to use udtsetup. Also, for
upgrades, the old method of extracted to the $UDTBIN directory is not supported because it will
invalidate the environment for permissions and backup functions.
Example output:
# tar -xvf bin.tar udtsetup
udtsetup
6. Execute the ./udtsetup script by entering ./udtsetup at the system prompt.
The script will perform some startup tasks, such as extracting the necessary files needed during
the process, validating that the tar file provided is for the correct platform, and performing any
other validation tests to confirm the UniData executables will work properly on your system. After
the validations are done the screen is cleared and the software license agreement prompt will be
displayed.
Example output:

Welcome to the Rocket UniData RDBMS, performing startup tasks...


Extracting files needed during setup process...
Validating tar file.
Using /disk1/u2install/bin.tar during this process.

<screen is cleared>

7. Answer Yes to the Software License Agreement. You can type D to display the license details. All
other answers will abort the installation.

163
Appendix A: Introduction to udtsetup

Example output:

Welcome to the Rocket UniData RDBMS.


http://www.rocketsoftware.com/u2
License files are located in /license.
Do you accept the terms of the Software License Agreement (SLA)?
Enter Yes/No or D to display agreement [No]:
Yes

8. Enter the UniData home directory.


The default value for this prompt is found by first checking for $UDTHOME being set, then the
location in /usr/ud##/path## file, otherwise, the default of /usr/ud## is used. This prompt
was not used in the udtinstall/updatesys method of installation.
If the value used in this prompt does not exist as a directory, then it will be created. The parent
directory of UniData home is not created here. If the UniData home fails the directory creation,
the upgrade will abort. If this directory was created during the script and the upgrade aborts for
other reasons later on then this directory is removed.
If the UDTHOME variable is not set a warning is displayed.
Example output:

Enter the full path name of UniData home directory [/usr/ud81]:


/disk1/ud81
Creating ud81 directory in the /disk1 path.

9. Enter the UniData Bin directory. The default value for this prompt is found by first checking for
$UDTBIN being set, then the location in /usr/ud##/path## file, otherwise, the default will be
the UniData home value used in the previous prompt plus /bin on the end.
If the value used in this prompt does not exist as a directory, then it will be created.
If the UniData bin fails the directory creation, the installation will abort.
If this directory was created during the script and the installation aborts for other reasons later on
then this directory is removed. If the UDTBIN variable is not set a warning is displayed.
Example output:

Enter the full path name of UniData bin directory [/disk1/ud81/bin]:

Creating bin directory in the /disk1/ud81 path.

10. Select Upgrade or Concurrent.


Since UniData has been detected on the system, an upgrade question is displayed. Answer Yes
or Enter to perform an upgrade or No to select a Concurrent Install (run two major versions at
the same time). This prompt will be skipped if updating to patch version within the same major
version.
Example output:

Do you want to upgrade UniData (type No for Concurrent)? [Yes]:


No

11. Installation type is displayed.


The type of installation and version are displayed here. If you use the ‘-sb’ option, the build
number will be displayed, if possible.
Example output:

Starting the concurrent installation of UniData 8.1.0.

12. LANG variable warning is displayed. The UNIX LANG environment variable affects the behavior
of UniData. Before you install UniData, you should be aware of the consequences of using a

164
Step-by-step upgrade of UniData for UNIX/Linux

LANG setting other than “C.” If you use a LANG setting other than “C,” note that certain UniData
commands may cause unpredictable results, such as the UniBasic UPCASE and DOWNCASE
commands, and the MCU and MCL conversion codes.
If you are installing UniData in an environment that does not support ASCII characters 250
through 255, and ASCII character 192 as internal markers, read the UniData International Guide
before proceeding with the installation.

Tip: We strongly recommend that the value of LANG is consistent for all users. Consider
setting the LANG environment variable in the .profile or .login script.

a. When choosing a LANG setting for your system, make sure the LANG setting you choose is
supported by UniData.
b. To find the supported LANG settings for your system, execute the locale -a command, as
shown in the following example:

# locale -a
C
POSIX
C.iso88591
C.utf8
univ.utf8
ar_DZ.arabic8
ar_SA.arabic8
ar_SA.iso88596
bg_BG.iso88595
cs_CZ.iso88592
da_DK.iso88591
da_DK.roman8
nl_NL.iso88591
nl_NL.roman8

c. During the installation process, UniData changes the LANG environment variable to “C” for
installation processing and displays the following message. Answer Yes to continue.
Example output:

WARNING:

-- Environment variable LANG is not set to 'C'.


-- It will be set to 'C' by UniData during this installation.
-- See the Rocket UniData Installation Guide for more details.

Would you like to continue? [Yes]:

13. Enter the serial number found in Rocket U2 license correspondence. This information is not
required as part of the installation. On an upgrade, this prompt will default to the previous serial
number used.
When performing a concurrent installation, this value is not read from an existing file path.
Example output:

Enter the 'Install Serial Number' [serial_number]:


12345678

14. Enter your authorization method.


There are four valid authorization methods available in udtsetup, details are:
▪ N – None. No licensing prompts are shown including request for confprod.
▪ W –  Web Authorization. Follow up questions are shown for each of the licensing items after
this question. At the end of the script, UniData is started and a call is made the the U2 Business

165
Appendix A: Introduction to udtsetup

Connect website to validate the licensing. If an authorization code is returned UniData will be
authorized.
▪ C –  Confprod. Confprod is called to do licensing. If this mode is used a warning is displayed if
your term type does not work properly. Confprod needs vt100 emulation to work properly.
▪ CW – Confprod with Web Authorization.  Still use confprod (see other options for term type
warning). Then makes same calls that the ‘W – Web Authorization’ option uses.
The ‘W’ and ‘CW’ options will only display if the UniData version being installed/upgraded to is
UniData 7.2.0 or later.
If the ‘W’ option is used and the authorization process fails, the licensing values are still set on the
system and a message is displayed on how to correct the problem.
If using Personal Edition, all of the authorization methods are skipped.
See Web authorization, on page 185 for more details.
Example output:

Authorization methods available:


N - None (Default) W - Web Authorization
C - Confprod CW - Confprod with Web Authorization

Select your authorization method [N]:


W

15. Enter the UniData Work directory.


The system displays the work directory where it will load the files to rebuild UniData based on the
location of udthome you entered in step 4 of Installation prompts – post licensing questions, on
page 136.
If the path UniData displays is correct, press Enter. If you want the location of your work directory
in another location, specify the directory.
Example output:

Enter the full path name of work directory [/disk1/ud81/work]:

16. Enter the UniData Lib directory.


This directory contains libraries for all UniData executables. UniData displays the path where
it will load this directory based on the location of udthome you entered in step 4 of Installation
prompts – post licensing questions, on page 136.
If the path UniData displays is correct, press Enter. If you want the location of the lib directory in
another location.
Example output:

Enter the full path name of lib directory [/disk1/ud81/lib]:

17. Enter the location of the log files.


This directory contains the location where UniData will build the log files for the Recoverable
File System (RFS) based on the location of udthome you entered previously. This is also the
parent directory of where the default location for the replication logs (REP_LOG_PATH setting
in udtconfig). If the path UniData displays is correct, press Enter. If you want the log files in
another directory, enter the full path. You do not have to create the log file directory prior to the
installation/upgrade.
Example output:

Enter the full path name of log directory [/disk1/ud81/log]:

18. Enter the location of the unishared directory.

166
Step-by-step upgrade of UniData for UNIX/Linux

The unishared directory contains files necessary for the unircpd daemon. Press Enter to accept
the default location of udthome/unishared, or enter an alternate path. In the example below, the
/.unishared file already existed so the location was read from that file.
Example output:

Enter the full path name of unishared directory [/disk1/unishared]:

19. Enter a group name.


UniData uses the group name associated with the root login name. If the group name displayed
is correct, press Enter. If the default is not correct, enter the correct group name. On an upgrade,
this defaults to the current group set on the $UDTBIN/smm file.
UniData uses the group name associated with the root login name. If the group name displayed
is correct, press Enter. If the default is not correct, enter the correct group name: On an upgrade,
this defaults to the current group set on the $UDTBIN/smm file.
Example output:

Enter a valid group name for changing files' group [sys]:

20. Optional: Enable Recoverable File System (RFS).


The configuration files needed for Recoverable File System (RFS) are automatically created with
udtsetup. This was not the case with udtinstall/updatesys. Previously it required you to reinstall
or manually create the configuration files.
This prompt asks if you want to enable RFS. If this prompted is answered Yes, then the SB_FLAG
setting in udtconfig enabled and cntl_install is ran to initialize the logs. If this prompted is
answered Yes but licensing was done during this script and RFS was not enabled in the licensing,
then this RFS flag will be disabled. RFS is a purchased add-on.
This prompt will default to the previous setting for RFS on upgrades.
Example output:

Turn on the Recoverable File System? [No]:


Yes

21. Optional: Enable Replication.


The configuration files needed for Replication are automatically created with udtsetup. This was
not the case with udtinstall/updatesys. Previously it required you to reinstall or manually create
the configuration files.
This prompt only asks if you want to enable Replication. If this prompted is answered Yes, then
the REP_FLAG setting in udtconfig is enabled.
This prompt will default to the previous setting on upgrades. If replication is not enabled the
configuration files will use the default system id, which is hostname_UniData Major
Version.
Example output:

Turn on the Replication Subsystem? [No]:


Yes

22. Specify the Replication System ID (shown only if Replication is enabled).


The replication component needs to know how to specify the current system name. It has
to be unique between all UniData versions loaded/running on one system. The default is
hostname_UniData Major Version.
Example output:
Replication system id? [den-vm-t08_81]:
23. Start UniData automatically at the end of script.

167
Appendix A: Introduction to udtsetup

Udtsetup added a new prompt that is enabled by default to start UniData at the end of the
installation/upgrade. Answer No if you do not want UniData to start at the end of the script.
Example output:

Do you want to start UniData at the end of the install? [Yes]:

24. Default Permissions.


A new feature in udtsetup is for tracking permission changes. The default for this prompt is No.
Default permissions can be logged during the installation, so that if a permissions issue arises
later, an option can be ran with udtsetup to restore the permissions at time of installation/
upgrade. See Check and fix permissions, on page 188.
Example output:
Do you want to log default permissions after the install? [No]:
Yes
25. Review Input Data.
UniData displays a summary of the information input at each of the licensing prompts before
proceeding with the installation. These options will only display if the ‘W’ or ‘CW’ authorization
options are used. Review the summary carefully. If all values are correct, press Enter. If a prompt
is incorrect answer No, and then restart the installation to correct the value.
Example output:

Summary of your inputs

CheckPerms Yes
ConfProduct N
Group sys
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
REPflag Yes
REPsysid den-vm-t08_81
RFSflag Yes
ScriptVersion 81
Serial 12345678
Startud Yes
UdtBin /disk1/ud81/bin
UdtHome /disk1/ud81
UnisharedDir /disk1/unishared
Upgrade No
WorkDir /disk1/ud81/work

Are these values correct? [Yes]:

26. Review Licensing Input Data (for Authorization mode ‘W’ or ‘CW’ only).
UniData displays a summary of the information input at each of the licensing prompts before
proceeding with the installation. These options will only display if the ‘W’ or ‘CW’ authorization
options are used. Review the summary carefully. If all values are correct, press Enter. If a prompt
is incorrect answer No, and then restart the installation to correct the value.
Example output:

LicCompany My Company
LicContact My Name
LicEDA Yes
LicEmail myname@myco.com
LicExpiryDate 01/01/4000
LicNFA Yes
LicNumCP 0
LicNumDL 10

168
Step-by-step upgrade of UniData for UNIX/Linux

LicNumUsers 25
LicRFS Yes
LicReason Upgrading to UniData 8.1.0
LicSeasonal No
LicSubkey Yes
Serial 12345678

Are these values correct? [Yes]:

27. Proceed with the Installation Process.


This part of the installation process does the following:
▪ Performs some final checks/actions (backup, permission checks)
▪ Extracts the tar file into $UDTBIN (if not using udtinstall method of extract files first)
▪ Sets owner and group permissions on files
▪ Create and Update /usr/ud##, include, work, lib, log, license and edadrv_exam
directories
▪ Perform initial systest (only one if not using the licensing options)
▪ Create root certificate store (UDT 8.1+)
▪ Update licensing details and perform an additional systest (if licensing options were enabled)
▪ If RFS is enabled, initialize RFS log files using cntl_install
▪ For Linux only, add UniData bin directory to shared libraries
Example output (full systest output is suppressed here):

Performing final udtsetup checks...

Final udtsetup checks are complete. Proceeding with install.


Extracting tar file to /disk1/ud81/bin.

Changing files' ownership and group name ...

Creating /usr/ud81 directory...


Creating /usr/ud81/include directory...
Creating /disk1/ud81/work directory...
Creating /disk1/ud81/lib directory...
Creating /disk1/ud81/log directory...
Creating /disk1/ud81/license directory...
Creating /disk1/ud81/edadrv_exam directory...

Testing system configuration ...

< systest results shown here are suppressed from this example >

Updating /usr/ud81/include directory...


Updating /usr/ud81/ods directory...
Updating /disk1/ud81/lib directory...
Updating /disk1/ud81/sys directory...
Creating /disk1/ud81/demo directory...
Updating /disk1/ud81/work directory...
Updating /disk1/ud81/objcall directory...

Creating default root certificate store...

Checking UNIX system configuration for running UniData ...

Updating VOC files in /disk1/ud81/sys /disk1/ud81/demo ...


Creating/Updating log files in /disk1/ud81/log...

RFS is not licensed. SB_FLAG is turned off.

169
Appendix A: Introduction to udtsetup

........

cntl_install utility resets Unidata System


after a full database backup (Image Copy).
This means, all log (and archive) files will
also be initialized for re-use.

Do you want to continue?(y/n) [n]


Installing Logs (and Archives) after cntl_install

Updating linux shared libraries to include /disk1/ud81/bin.

28. Additional installation steps include installing/upgrading UniRPC/Unishared components on


the system, creating the UniData logs directory (UDT 8.1+), and updating the $UDTHOME/sys/
UD.ACCOUNT file. If ‘log permissions’ was enabled, the list of permissions are generated.
29. Additional installation steps include installing/upgrading UniRPC/Unishared components on
the system, creating the UniData logs directory (UDT 8.1+), and updating the $UDTHOME/sys/
UD.ACCOUNT file. If ‘log permissions’ was enabled, the list of permissions are generated. Example
output

Installing unishared components...


Installed /disk1/unishared/icsdk version 3.0.8.
Installed /disk1/unishared/unirpc version 11.2.3.
Updating /disk1/unishared/sharedby...
Updating /disk1/unishared/unirpc/unirpcservices...
Completed Unishared/UniRPC installation.
Creating logs directory.
Creating logs/output directory.
Creating logs/config directory.
Creating logs/sample_config directory.
Updating UD.ACCOUNT file...

30. UniData startup.


If UniData was set to start at the end of the script or performing web authorization or performing
custom commands, UniData is started in an unauthorized state.
Example output:

Starting UniData...
Sat Feb 1 07:01:59 UniData has not been authorized.
Sat Feb 1 07:01:59 UniData RDBMS will stop in 10 days!

UniData has been started.

31. Web Authorization (Authorization Mode ‘W’ or ‘CW’ only)


If the web authorization options ‘W’ or ‘CW’ are used a call is made to the U2 Business Connect
authorization website. If the authorization was successful, then the licensing is refreshed.
Example output:

Calling Web Authorization API to license UniData.

Authorizing the database with license #12345678.


UniData has been authorized.
Refreshing UniData Licensing Status...

32. Custom commands.

170
Post installation tasks

If the custom commands script was found, it will be executed here. See Custom commands, on
page 197 for more details.
33. Installation complete.
If the ‘startud’ option was turned off during the install, UniData is stopped first. Finally, a
congratulations/completion message is displayed.
Example output:

Congratulations!
You have successfully installed Rocket UniData RDBMS 8.1.0.
UniData has already been started.

Post installation tasks


1. Check the udtsetup.log and udtsetup.warning.log.
The responses to the installation prompts and any messages directed to the terminal
screen are captured in the udtsetup.log located in $UDTBIN/saved_logs. Check the
udtsetup.log to ensure that no error messages appear in the log. If any error messages
appear, correct the indicated problems before proceeding. Warnings are also displayed in the
$UDTBIN/saved_logs/udtsetup.warning.log file. There are two other files stored in
$UDTBIN/saved_logs from this installation process. These are udtsetup.tarfile.out
which is the screen output for the extraction of the tar file and udtsetup.param which is the
parameter file that recorded on the prompts. See Parameter file, on page 178 for details on
using the parameter file.
2. Set environment variables.
Before you can test the installation by starting UniData (if not started during the installation)
and invoking a UniData session, you need to define the environment variables for UDTHOME and
UDTBIN. The LANG setting should also be set. The following examples show how to do this by
using the paths previously provided for UDTHOME and UDTBIN:

From the Bourne or Korn shell:


UDTHOME=/disk1/ud81;export UDTHOME
UDTBIN=/disk1/ud81/bin;export UDTBIN
LANG=C;export LANG

From the C shell:


% setenv UDTHOME /disk1/ud81
% setenv UDTBIN /disk1/ud81/bin
% setenv LANG C

From the Bash shell:


export UDTHOME=/disk1/ud81
export UDTBIN=/disk1/ud81/bin
export LANG=C

If you are using XML or for UniData 8.1+, you must also set your library path. At UniData 8.1.0, the
product uses more dynamic libraries than just the XML libraries.
The following list shows the library path environment variables by platform:

AIX LIBPATH=$LIBPATH:$UDTBIN
HP SHLIB_PATH=$SHLIB_PATH:$UDTBIN
SOLARIS LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
LINUX LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN

171
Appendix A: Introduction to udtsetup

Note: For Linux, the UniData Bin (UDTBIN) path is automatically added to the system library
settings starting with UniData 8.1 during the install script.

Historical Platforms (No Longer Supported):

TRU64 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
SCO LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$UDTBIN
3. Run makeudt.
If your application links in C routines with CALLC, you need to relink the new udt by running
makeudt now. For information on makeudt, see Administering UniData and Developing UniBasic
Applications.
4. Start UniData (if not started during the installation).
You can now start UniData with the startud command. The following example shows the output
from startud:
Example output:

# UDTBIN/startud
Using UDTBIN=/disk1/ud81/bin

All output and error logs have been saved


to /disk1/ud81/bin/saved_logs directory.

SMM is started.
Unirpcd is started
SBCS is started.
CLEANUPD is started.

UniData R8.1 has been started.

You can now run UniData. Change directories using the UNIX cd command to the $UDTHOME/
demo account. Enter the full path name of the bin directory, followed by the udt command (if you
have set your environment variables, the default is udt, as shown in the following example) or
type $UDTBIN/udt at the prompt.
If you are using device licensing, enter udtts.

# cd $UDTHOME/demo
# udt
UniData Release 8.1 Build: (89262)
© Rocket Software, Inc. 1985-2015.
All rights reserved.

Current UniData home is /disk1/ud81/.


Current working directory is /disk1/ud81/demo.
:

Note: Before users can access UniData, you must set environment variables for all users.
Consider using a .login or .profile script. You can include the full UniData paths there. You also
need to make sure each user’s path includes the UDTBIN path. For detailed information about
this, see Administering UniData on UNIX.

5. Remove installation media.


After the installation has completed the udtsetup script and bin.tar file can be removed from
the system. To reinstall UniData, the media will need to be copied to the server and udtsetup will
need to be extracted again.

172
Full example

Full example

# ./udtsetup
Welcome to the Rocket UniData RDBMS, performing startup tasks...
Extracting files needed during setup process...
Validating tar file.
Using /disk1/u2install/bin.tar during this process.

Welcome to the Rocket UniData RDBMS.

http://www.rocketsoftware.com/u2

License files are located in /disk1/ud81/bin/license.

Do you accept the terms of the Software License Agreement (SLA)?

Enter Yes/No or D to display agreement [No]:


Yes

Enter the full path name of UniData home directory [/disk1/ud81]:

Creating ud81 directory in the /disk1 path.

Enter the full path name of UniData bin directory [/disk1/ud81/bin]:

Creating bin directory in the /disk1/ud81 path.

Do you want to upgrade UniData (type No for Concurrent)? [Yes]:


No
Starting the concurrent installation of UniData 8.1.0.

Enter the 'Install Serial Number' [serial_number]:


12345678

Authorization methods available:


N - None (Default) W - Web Authorization
C - Confprod CW - Confprod with Web Authorization

Select your authorization method [N]:

Enter the full path name of work directory [/disk1/ud81/work]:

Enter the full path name of lib directory [/disk1/ud81/lib]:

Enter the full path name of log directory [/disk1/ud81/log]:

Enter the full path name of unishared directory [/disk1/unishared]:

Enter a valid group name for changing files' group [sys]:

Turn on the Recoverable File System? [No]:


Yes
Turn on the Replication Subsystem? [No]:
Yes
Replication system id? [den-vm-t08_81]:

Do you want to start UniData at the end of the install? [Yes]:

Do you want to log default permissions after the install? [No]:


Yes

173
Appendix A: Introduction to udtsetup

Summary of your inputs

CheckPerms Yes
ConfProduct N
Group sys
LibDir /disk1/ud81/lib
LogDir /disk1/ud81/log
REPflag Yes
REPsysid den-vm-t08_81
RFSflag Yes
ScriptVersion 81
Serial 12345678
Startud Yes
UdtBin /disk1/ud81/bin
UdtHome /disk1/ud81
UnisharedDir /disk1/unishared
Upgrade No
WorkDir /disk1/ud81/work

Are these values correct? [Yes]:

Performing final udtsetup checks...

Final udtsetup checks are complete. Proceeding with install.


Extracting tar file to /disk1/ud81/bin.

Changing files' ownership and group name ...

Creating /usr/ud81 directory...


Creating /usr/ud81/include directory...
Creating /disk1/ud81/work directory...
Creating /disk1/ud81/lib directory...
Creating /disk1/ud81/log directory...
Creating /disk1/ud81/license directory...
Creating /disk1/ud81/edadrv_exam directory...

Testing system configuration ...

< systest results shown here are suppressed from this example >

Updating /usr/ud81/include directory...


Updating /usr/ud81/ods directory...
Updating /disk1/ud81/lib directory...
Updating /disk1/ud81/sys directory...
Creating /disk1/ud81/demo directory...
Updating /disk1/ud81/work directory...
Updating /disk1/ud81/objcall directory...

Creating default root certificate store...

Checking UNIX system configuration for running UniData ...

Updating VOC files in /disk1/ud81/sys /disk1/ud81/demo ...


Creating/Updating log files in /disk1/ud81/log...

RFS is not licensed. SB_FLAG is turned off.


........

cntl_install utility resets Unidata System


after a full database backup (Image Copy).

174
Additional information about udtsetup features

This means, all log (and archive) files will


also be initialized for re-use.

Do you want to continue?(y/n) [n]


Installing Logs (and Archives) after cntl_install

Updating linux shared libraries to include /disk1/ud81/bin.

Installing unishared components...


Installed /disk1/unishared/icsdk version 3.0.8.
Installed /disk1/unishared/unirpc version 11.2.3.
Updating /disk1/unishared/sharedby...
Updating /disk1/unishared/unirpc/unirpcservices...
Completed Unishared/UniRPC installation.

Creating logs directory.


Creating logs/output directory.
Creating logs/config directory.
Creating logs/sample_config directory.

Generating new permissions list...


Updating UD.ACCOUNT file...

Starting UniData...
Sat Feb 1 07:01:59 UniData has not been authorized.
Sat Feb 1 07:01:59 UniData RDBMS will stop in 10 days!

UniData has been started.

Congratulations!
You have successfully installed Rocket UniData RDBMS 8.1.0.
UniData has already been started.

Additional information about udtsetup features

Command line options


The udtsetup script has some help information written into the script. The most common parameters
can be listed with the ‘udtsetup –h’ command. For the full list, use ‘udtsetup –ah’  (all help). Most of
these parameters will be noted in further details in other sections in this section.
The full list of command line options are:

Table 15: Common options

Option Description
-ah Shows all command options available
-c directory_path Custom Configuration Directory Path
-exthelp Extended/Additional Options Available
-f param_file Supply param_file containing inputs (w/sorted output)
-uf param_file Same as -f option but does not sort param_file
-t fname  Specifies tar file to use for the installation/upgrade
-uri url   Download/Use custom files (param_file,bin.tar)

175
Appendix A: Introduction to udtsetup

Option Description
-urif url/param  Download param file from web path given
-urit url/my.tar Download media tar file from web path given

Note: Note: -uri, -urif & -urit use 'curl' to download files

Table 16: Additional Options

Option Description
-dd Delete extra directories in the bin directory
-hs  Hush systest output even if echo is enabled
-kd  If debug files used, new versions will use debug files
-ku Keeps udtsetup script (default)
-r param_file  Same as -f option, without missing parameter message
-ru Removes udtsetup script at end
-ur param_file Same as -uf option, without missing parameter message
-uriuf url/param Download param file from web path given (unsorted)

Table 17: Version Options

Option Description
-sb Shows build# in Version display message
-tv   Shows port.note file from tar file, then exits
-udt #  Sets the major version used in the script
-udtv  Reports UDT Version used in script, then exits
-v  Shows version of script

Table 18: Environment variables

Option Description
UDTCUSTOM Local Custom Directory Path
UDTURI  Extra Options for URI calls
UDTTARFILE  Local Tar file path

Table 19: Options that exit the script early - Backup/Restore

Option Description
-lb List backup files from last installation/upgrade
-rb Removes backup files from last installation/upgrade
-restore Restores UniData to saved version
-restore -force Like -restore option but no prompts
-udtdiag Runs udtdiag v3+, used with -restore option

Table 20: Options that exit the script early - Permissions

Option Description
-rp Reset permissions back to stored values
-up Update permissions logged on version installed

176
Improved logging and exit codes

Table 21: Options that exit the script early - Permissions (Upgrades only)

Option Description
-lp Show diff log (must check perms in upgrade)

Improved logging and exit codes


With this script, there are 10 different log levels that can be set. Most of the time, default level 1 is
enough. The logging should only be increased if instructed by the Rocket U2 Technical Support group.
Details on the 10 levels are:
▪ 1 – Standard Logging
▪ 2 – Version Checks
▪ 3 – Section Headers  (major sections defined inside script)
▪ 4 – File Checks
▪ 5 – Command Output
▪ 6 – Permissions
▪ 7 – Custom Command Debugging
▪ 8 – Function Calls
▪ 9 – Debug Info
▪ 10 – Everything/Developer Messages
The log file is written to /tmp/udtsetup.partial.log. If the script exits normally, then the file is
moved to $UDTBIN/saved_logs/udtsetup.log.

Exit codes
UNIX/Linux allows for exit codes up to a value of 255. Each location in udtsetup where the process can
exit has a unique exit value. This is helpful if the process is started by another script that can check exit
status codes. This list may change in the future but for the initial versions of the script, the exit codes
are broken up in the following ways:

Exit code Description


0 Normal Exit  (may be reported from multiple spots if the function selected
works correctly)
2 - 99 Main Program Code
100 Mkdir failure
101 Quit entered at prompt
110 - 199 Functions
200 - 255 Other
200 - 202 Used for ‘-tv’ command line option exits
203   Exit from URI function if not root user
210 - 211 Setup of temporary install files
254 Command Line option that exits script early, but didn’t set to exit code 0
properly
255 Unknown exit

177
Appendix A: Introduction to udtsetup

QUIT/EXIT early
Udtsetup allows the user to ‘quit’ out of any prompts up until the files are extracted to the UniData bin
directory. If the user does exit early the following is done:
A message displaying how to restart the udtsetup process and use the existing values. If there was an
error in one of the fields you will need to either not use the existing parameter file or modify the file
manually.  Here is an example of that message:

Enter the full path name of lib directory [/disk1/ud81/lib]:


quit

If you want to restart this process with the same settings later, run:
udtsetup -r /tmp/udtsetup.param

Exiting udtsetup, per user request.

Various files are removed when quitting early including:


▪ The temporary files needed during the installation (see Frequently Asked Questions (FAQ), on page
200 for list).
▪ Files in /tmp that start with ‘udtsetup*’ except the udtsetup.param file (if no parameter file was
selected previously)
▪ Files in /tmp that follow the format ‘udt*.info’ – These are parameter files used for permissions,
backup and licensing.
▪ UniData Home and bin directory if they are created during the udtsetup script

Note: The /tmp/udtsetup.partial.log and /tmp/udtsetup.warning.log (if > 0 bytes) will remain
to help troubleshoot install issues. These files are moved to $UDTBIN/saved_logs if the
installation/upgrade completes normally.

If the –f or –uf options are used instead of  –r or –ur options when restarting the script, each parameter
that was missed will have a message like:
The 'LibDir' parameter was not found, prompting for input.

Parameter file
Instead of being prompted for each question, a parameter file can be supplied to the udtsetup script
to use as an answer sheet for questions encountered. If an answer is not found for a question asked,
then the installation/upgrade will stop and ask the user for the value.
The parameter file for the current installation/upgrade is stored initially in the /tmp/udtsetup.param
file, then moved to $UDTBIN/saved_logs/udtsetup.param after the installation/upgrade
completes. When using the parameter file, it is recommended to have the parameter file stored
outside of the UniData directory. If the file is stored inside the UniData directories, there is the chance
that your parameter file will be overwritten.
To use a parameter file during the udtsetup process, specify the ‘-f param.file’ option. If the file
specified after the –f option is empty or does not exist, then the parameters will be record to that file.
By default, the parameters are sorted in alphabetical order. If sorted order is not desired use the ‘-uf’
option (think ‘unsorted’).  
The parameter file is stored with the Parameter name, then spaces, then result.

178
Parameter file

When recording parameters, some parameters that appear in udtsetup.param will not appear in the
‘Summary of Input’ screens or other prompts, for example ScriptVersion. These extra parameters are
needed by the script and will be added if not predefined (if using the ‘-f’ playback option).
An Example parameter file (based on Installing UniData, on page 131 without licensing prompts):

CheckLang Yes
CheckPerms No
ConfProduct N
Confirm Yes
Group sys
LibDir /disk1/ud81/lib
LicAgree Yes
LogDir /disk1/ud81/log
REPflag No
RFSflag No
SaveDir Yes
ScriptVersion 81 (8.1.0)
Serial 12345678
Startud Yes
UdtBin /disk1/ud81/bin
UdtHome /disk1/ud81
UnisharedDir /disk1/unishared
WorkDir /disk1/ud81/work

If the above list of parameters are used on a new installation, the output would look like (only top
portion of output is shown):

# ./udtsetup -f /tmp/udt81.params
Welcome to the Rocket UniData RDBMS, performing startup tasks...
Using parameter data found in: /tmp/udt81.params
Extracting files needed during setup process...
Validating tar file.
Using /disk1/u2install/bin.tar during this process.

Welcome to the Rocket UniData RDBMS.

http://www.rocketsoftware.com/u2

License files are located in /license.

Creating ud81 directory in the /disk1 path.

Warning: $UDTHOME should be set to '/disk1/ud81'.

WARNING: The path you selected does not equal UDTHOME.


The environment variable UDTHOME will be ignored and it
needs to be changed after the installation.

Creating bin directory in the /disk1/ud81 path.

Warning: $UDTBIN should be set to '/disk1/ud81/bin'.

WARNING: The path you selected does not equal UDTBIN.


The environment variable UDTBIN will be ignored and it
needs to be changed after the installation.

Starting the installation of UniData 8.1.0.

179
Appendix A: Introduction to udtsetup

Warning: $LANG should be set to 'C'.

WARNING:

-- Environment variable LANG is not set to 'C'.


-- It will be set to 'C' by UniData during this installation.
-- See the Rocket UniData Installation Guide for more details.

Performing final udtsetup checks...

<End of Example>

Missing parameter
If the udtsetup script can’t find an answer in the parameter file for a necessary parameter, then the
installation will prompt the user for that answer. If the above example had the ‘Group’ parameter
removed from the parameter file, the script will prompt the user like the following:

The 'Group' parameter was not found, prompting for input.

Enter a valid group name for changing files' group [sys]:

Full parameter list


The following list is from the initial list of parameters that are supported. The meanings of some
parameters have changed from their use in udtinstall/updatesys. These parameter groups are sorted
in alphabetic order, not in the order of the script. The parameters are case-sensitive. It is best to
perform an installation/upgrade to generate a list of parameters rather creating a parameter file
manually.

Prompted parameters
These are parameters are prompted for during the installation/upgrade script.

Parameter Description
Backup Ask to backup UDT first (was used in old scripts but is drastically different)
BackupDir Backup directory location (path or 'parent')
BackupPrefix Tar file prefix to use (like 20140422_)
CheckBinInstall Installs only, continue if $UDTBIN exists already
CheckHomeInstall Installs only, continue if $UDTHOME/sys exists already
CheckLang Prompt to continue if LANG env setting is not set to 'C'
CheckPerms Check permissions on upgrades
CheckRestore Validation prompt
Confirm Continue installation after validating prompt answers
ConfpdWithWeb Yes/No flag, if used 'C' option on ConfProduct, then asks user if they want
to authorize via web (and currently not authorized).
ConfProduct 'N' (No), 'C' (confprod) or 'W' (Web authorization/U2BC Call) or
'CW' (Confprod and if unauthorized make call to web authorization,
prompts only for U2BC required info)
FixPerms Upgrades only, fixes permissions on files that existed prior upgrade

180
Prompted parameters – authorization

Parameter Description
Group Group ownership of bin directory files
LibDir UniData lib directory
LicAgree Prompt asking use if they agree to the licensing agreement
LogDir UniData log directory (not for UDT 8.1 logging)
OldBIN Old UniData Bin directory (used to move UDTBIN to new path or for
TransMEK functionality)
OldHOME Previous UDT Home directory (New prompt)
OverWrite For upgrades, overwrite WorkDir directory
PreviousVer For upgrades, previous version to upgrade
REPflag Enable Replication
REPsysid Replication System ID (defaults to hostname_version)
RFSflag Enable RFS
SaveDir Prompt asking if you want to delete/keep the $UDTBIN directories: include,
lib, work and demo
Serial Serial/License number (prompted even if not using Confprod/Web
Authorization, see next section for more details)
SkipFailedBackup Skips backup if directory path is invalid and continues installation/upgrade
Startud Start UniData at and of installation/upgrade
StopRPC Question to stop UniRPC before continuing (comes into play if unishared
sharedby file has more than one line of db versions listed)
StopSys Question to stop UDT before continuing
TransMEK Transfer ADE master key
UdtBin UniData bin directory
UdtHome UniData home directory
UnisharedDir Unishared directory
Upgrade If Yes, then upgrade is done, if No Concurrent install is done (is not used if
Upgrading to same Major version)
WorkDir UniData work directory           

Prompted parameters – authorization

Parameter Description
LicConfirm Summary of Inputs for licensing’ confirmation prompt
LicEDAExternal Database Access (EDA): Y/N
LicExpiryDateExpiration Date: Today or greater, permanent license date is ‘01/01/4000’.
LicNFANetwork File Access (NFA): Y/N
LicNumCPNumber of Connection Pooling Licenses: 0 or higher
LicNumDLNumber of Device Licensing: 0 to 10. If Server Edition a special add-on license is
needed in the records otherwise set this to 10
LicNumUserNumber of Database Licenses/Users: 1 or higher (see seasonal users info below)
LicRFSRecoverable File System (RFS): Y/N
LicSubkey licensing flag (UDT 8.1+)
LicVersionVersion being authorized (has to match version in U2BC records)

181
Appendix A: Introduction to udtsetup

Parameter Description
Serial Serial/License Number: 8 digit license number in U2 Business Connect
records, it may include the –UDT suffix

Prompted parameters – authorization – U2BC contact details

Parameter Description
LicCompany Your company (For person doing authorization)
LicContact The person performing authorization/licensing request
LicEmail The contact’s email address (this does require a ‘@’ in the value)
LicReason A reason for performing the authorization request
LicSeasonal Y/N flag to tell website that seasonal users are in use. The base user count
[LicNumUsers] will need to be adjusted by the user if this flag is enabled.
There is no auto-update feature.

CLO parameters only

Parameter Description
CheckDebugFiles Checks existing installation for .d files and if found, after the upgrade the
same .d files will be used
CustomDir Custom directory that contains config/tar files to use
HushSystest Disable screen display of systest output (default is No)
KeepTemp Keeps temp files at end of script (default is No)
KeepUdtSetup Keeps udtsetup script in current directory at end (default is to remove
unless it is in $UDTBIN)
KeepURI Keeps files downloaded via the uri process (default is No)
LogLevel Log level (1 to 10, 1 is default)
ShowBuild Shows build number
URI URI site to use

Prompted and command line options parameters

Parameter Description
ScriptVersion Major UDT version to use (with -udt option, or from port.note)
TarFile Location of tar file to use (default is bin.tar in local directory)

OS/platform media validation


When running udtsetup, several files are extracted by default to perform startup tasks. These
validations are done so that when work begins on the UniData bin directory, the installation/upgrade
will work properly and will not fail unexpectedly. Any warnings will be displayed before the software
licensing message. You may need to scroll up in your telnet/ssh/ssl client to see message or review the
$UDTBIN/saved_logs/udtsetup.warning.log file after the installation/upgrade completes.

182
Files in use validation

If the tar file is for the wrong platform, then the port.note file is displayed and the script exits. If the
correct platform is used but other validation fails, then a message is displayed to help troubleshoot
the issue. Both UniVerse and UniData technote numbers may be listed in these messages.

[root@den-vm-t08 u2install]# ./udtsetup


Welcome to the Rocket UniData RDBMS, performing startup tasks...
Extracting files needed during setup process...
Validating tar file.
Using /disk1/u2install/bin.tar during this process.

Required libraries are missing for UniData, the error is:


/tmp/udtsetup.install.files/accessory: error while loading shared libraries: lib
glib-2.0.so.0: cannot open shared object file: No such file or directory

Please see these Rocket solution articles as they may apply:


UNV-5566 - Rocket U2 Database Support with Red Hat (RHEL) 6.x
UDT-3819 - libgdbm.so.2 missing when installing UniData
Exiting the installation.

Note: The reasons UNV-5566 and UDT-3819 occur have been fixed at UniData 8.1.0, specifically
64-bit only builds and the gdbm library are better linked. This is shown here for informational
purposes only.

There is also a warning displayed for Solaris and Linux systems concerning glibc errors if the
appropriate files are not in place. This behavior in Solaris and Linux can cause unwanted process
aborts that can be resolved. This message will display before the software licensing prompt, for
example:

Warning: glibc errors may occur!


See Rocket solution article # UDT-8134 for details.

Files in use validation


As part of upgrades, if ‘fuser’ is found on a system, the $UDTBIN directory and unirpcd file are checked
to see if anything is in use. If there is a file found to be in use, the upgrade aborts. This is done to
ensure all files that are extracted are copied into place as expected. With udtinstall/updatesys, if a file
was in use, the tar extraction would just skip that file and leads to support cases being logged related
to mismatched executables.
Here is an example of how the script aborts when a file is in use:

Verifying /disk1/ud81/bin files are not in use.


Some /disk1/ud81/bin files are still in use, these are:
libodbc.so: 8419m

This UniData upgrade will not continue!


Resolve the above errors and then restart the upgrade.

The second parameter of the file outputted is the pid plus an alpha code. If you then run ps and grep
for the pid you will see which process is using the file, for example (this test server had both Rocket U2
databases installed on it):

# ps -ef |grep 8419


root 8419 1 0 Mar24 ? 00:00:00 bin/usd /usr/spool/uv
root 24203 21787 0 11:17 pts/2 00:00:00 grep 8419

183
Appendix A: Introduction to udtsetup

The process holding the file open needs to be stopped, then the udtsetup process needs to be
restarted.

Tar file extraction options


As this script was being developed and more options added, many ways have been added to access
the tar file needed.
The script finds the tar file in the following order:
▪ Use the ‘-t’/’-tf’ option
▪ Downloaded via the URI command line options (see URI (Uniform Resource Identifier) support, on
page 190)
Then search the local directory where udtsetup was execute from for the following files:
▪ bin.tar
▪ bin.tar.Z & bin.tar.z
▪ bin.tar.zip, bin.tar.ZIP and bin.tar.Zip
▪ bin.tar.gz, bin.tar.GZ, bin.tar.Gz
▪ The ‘TarFile’ parameter in the supplied parameter file
▪ A ‘UDTTARFILE’ environment variable
▪ Otherwise will prompt user for path, if not found then process aborts
If using the .Z, .Zip and .Gz options, the tar file will be uncompressed before use and recompressed
after the extraction is done. If using the compressed versions of bin.tar, make sure you do not
have another file in the same directory called bin.tar, as this is the name that is used after
uncompressing the files.
At the start of the udtsetup script before the software licensing screen, it will display the path to the
tar file being used. For example:

Welcome to the Rocket UniData RDBMS, performing startup tasks...


Extracting files needed during setup process...
Validating tar file.
Using /disk1/u2install/bin.tar during this process.

If you add a ‘-tv’ or ‘-gtv’ option to the udtsetup command line, it will report the port.note file contents
of the tar file being used then exit. An example for UniData 7.3.6 is:

# ./udtsetup -tf bin.tar.Z -tv


Welcome to the Rocket UniData RDBMS, performing startup tasks...

Expanding /disk1/u2install/bin.tar.Z

Extracting files needed during setup process...


Validating tar file.
Using /disk1/u2install/bin.tar during this process.

Tar file port.note contents:

Platform : Red Hat Enterprise Linux Server release 5.8 (Tikanga)


Operating System : Linux sitka 2.6.18-308.el5 #1 SMP Fri Jan 27 17:21:15 EST 201
2 i686 i686 i386 GNU/Linux
Porting Date : Fri Oct 4 19:51:25 MDT 2013
UniData Release : 7.3.6 73_131003_6560
Ported by : srcman
Compilers Used : gcc-4.1.2-52.el5

184
Determining installation type

LINUX Information: RHEL 5.8: Linux version 2.6.18-308.el5 Source RPM: glibc-2.5-
81.src.rpm
RHEL 6.0/64-Bit: Linux version 2.6.32-81.el6.x86_64 Source RP
M: glibc-2.12-1.7.el6.src.rpm
SuSE 11/64-Bit: Linux version 2.6.32.12-0.7-default Source RP
M: glibc-2.11.1-0.18.1.src.rpm

Special tar version option used, exiting.


/disk1/u2install/bin.tar.Z was 'gunzip'ed for installation.
Recompressing tar file.

Determining installation type


If there are no /usr/ud##/include/udtconfig files on the system then the process is treated as an
installation. However, if a /usr/ud## path does exist, then it has additional checking for Upgrade vs
Concurrent Installation.
The list of /usr/ud## paths is generated and if the major version of the tar file is found in this list, then
only the Upgrade option is allowed. If the /usr/ud## path for the current major version is NOT found,
then you will see the ‘Do you want to upgrade UniData (No for Concurrent)’ question.

Web authorization
There are four valid authorization methods available in udtsetup, details are:
▪ N – None – No licensing prompts are shown including request for confprod.
▪ W  – Web Authorization – Follow up questions are shown for each of the licensing items after this
question. At the end of the script, UniData is started and a call is made the the U2 Business Connect
website to validate the licensing. If an authorization code is returned UniData will be authorized.
▪ C – Confprod – Confprod is called to do licensing. If this mode is used a warning is displayed if your
term type does not work properly. Confprod needs vt100 emulation to work properly.
▪ CW – Confprod with Web Authorization – Still use confprod (see other options for term type
warning). Then makes same calls that the ‘W – Web Authorization’ option uses.
See Full parameter list, on page 180 for details on the parameter names involved.
The prompt will look like:

Authorization methods available:


N - None (Default) W - Web Authorization
C - Confprod CW - Confprod with Web Authorization

Select your authorization method [N]:


W

This parameter is the ‘ConfProduct’ value in the parameter file.


The ‘W’ and ‘CW’ options will only display if the UniData version being installed/upgraded to is
UniData 7.2.0 or higher.
If the ‘W’ option is used and the authorization process fails, the licensing values are still set on the
system and a message is displayed on how to correct the problem.

The U2 Business Connect website only returns errors. Warnings are suppressed.

185
Appendix A: Introduction to udtsetup

 If using Personal Edition all of the authorization methods are skipped.
The list of licensing parameters may change in the future.

Near the end of the udtsetup script execution, UniData is started (if startud flag is set, web
authorization or custom commands). A call is made to a UniBasic program called ‘DBLICENSE’ in the
$UDTHOME/sys directory. If the authorization is successful then UniData has its licensing refreshed
with the ‘stopsmm –r’ command.
If the authorization is not successful, then the product will start in an unauthorized state. Error
messages from the authorization website are shown to the screen and the udtsetup.log file. If the
appropriate values are changed and the user wants to reauthorize the product, then perform these
steps:
1. '$UDTBIN/startud' (if not running)
2. 'cd \$UDTHOME/sys'
3. '$UDTBIN/udt'
4. 'RUN SYS_BP DBLICENSE'
5. 'quit'
6. '$UDTBIN/stopsmm -r' or restart UniData.
If the UniData version being installed is not UniData 8.1.0 or higher, the DBLICENSE program is not
included with the product (nor is udtsetup).  See Tech Note #UDT-11605 to get a copy of the object
code for the _DBLICENSE program. The source of DBLICENSE is not available for public use. The
udtsetup script will convert the DBLICENSE object code to the correct platform.

Web authorization error examples


These are some example error messages that are returned from the U2 Business Connect
Authorization Website.

Version is not valid – Error 819


If you attempt to use the web authorization and the version is invalid (ie. Beta programs) the error will
be similar to:

Calling Web Authorization API to license UniData.

Web authorization failed!


Error from authorization website: 819
Error description: ERROR (819) - The version specified is invalid for the
product being authorized

Version not found in your licenses records – Error 820


If you attempt to use the web authorization and the version you are installing does not match the
version you have in U2 Business connect records the error will be similar to:

Calling Web Authorization API to license UniData.

Web authorization failed!


Error from authorization website: 820
Error description: ERROR (820) - The version you are attempting to authorize
was not ordered for your serial number. Contact your partner or the U2BC
team (u2bc@rs.com) to get this resolved.

186
Serial/license number is not valid

The UniData version being installed does not match the value on record.
Please install the version on record or change the records to match.

Serial/license number is not valid


If you attempt to use the web authorization and the serial/license number does not exist the error is
similar to:

Calling Web Authorization API to license UniData.

Web authorization failed!


Error from authorization website: 1
Error description: Serial number not found

Backup and restore


With udtinstallation/upgradesys, the Backup option only backed up the /usr/ud##/include,
$UDTHOME/log and $UDTHOME/work directory which is not enough to restore the environment to
a good working order. The backup option in udtsetup backs up an entire UniData environment so that
if an upgrade has issues, the restore option can be used to restore UniData to the last version used and
allow the system to continue running. There is no need to reinstall the old version.
The following files directories/files are backed up:
Required Files/Directories:
▪ /usr/ud##
▪ $UDTBIN
▪ $UDTHOME/sys
▪ $UDTHOME/lib
▪ $UDTHOME/parttbl  (or PART_TBL location in udtconfig)
▪ /.unishared and its related directory
▪ /.udlibs##
Optional Files/Directories:
▪ $UDTHOME/demo
▪ $UDTHOME/lobs
▪ $UDTHOME/objcall
▪ $UDTHOME/Sybase
▪ $UDTHOME/work
The $UDTHOME/log directory is not backed up. This directory is used for RFS and Replication logs
and would be out of sync with customer applications if this directory was restored. If restoring to a
previous version and running RFS it is recommended to run ‘cntl_install’ to refresh the logs.

Note: Only one backup is maintained in the UniData environment. The backup files may still
remain from old upgrades but are no longer tracked by udtsetup.

The backup procedure uses the tar file format only. Each directory/file above is stored in its own tar
file, so you may see several tar files when reviewing the backup files. At UniData 8.1/8.1, the number of
tar files created is usually a minimum of 10.

187
Appendix A: Introduction to udtsetup

The udtsetup script on upgrades asks if you want to do backups just before the summary of inputs
screen. If you answer yes, then a path is requested. There are two options either ‘parent’ which will
store each tar file in the parent location or specify a directory path that exists to store the tar files. The
directory path must exist, the udtsetup script does not create the backup directory path.
Once the backup path is accepted, then a backup prefix prompt is displayed. The default is
‘udtsetup_YYYYMMDD_’. The rest of the file is based on the directory path and includes a .tar
extension.  The parameter for this prompt is ‘BackupPrefix’.

List backups
After the upgrade has completed, in the $UDTBIN directory, run udtsetup –lb or udtsetup –
listbackups. This option will list details about the tar files generated during the backup procedure.
The top 10 lines of each tar file are listed.

Restore
If a critical failure occurs in your UniData environment and the decision was made to go back to the
previous version of UniData, then the ‘-restore’ option should be used (assuming the backup option
was used).
If any of the required files/directories listed above are missing, the restore option will not continue.
Use ‘-restore’ to bring up a dialog to asking for confirmation that a restore is being performed. You can
add a ‘-force’ option if you want to bypass this confirmation prompt.  Also, the Rocket U2 Technical
Support group recommends using the ‘-udtdiag’ option as well. This will perform a udtdiag of the
system before a restore is performed. It requires udtdiag v3.00 or higher. The udtdiag results will help
the support group in diagnosing the situation. These three options can be combined like ‘-restore –
force –udtdiag’.
When the restore occurs, the existing directory paths are removed and replaced by the contents of the
backup tar file.

Remove backups
If the upgrade of UniData is good and there is no need to restore, use the udtsetup –rb or
udtsetup –removebackups command to remove the tar files created during the backup process
and the related control file.

Backup/restore control file


The backup/restore options are controlled by file in /usr/ud##/include, called
udtbackup.info. Do not remove this file manually if the backup files still exist. If this file is
removed, the remove backups, list backups or restore options are no longer available.
Note:

Note: For initial/full installations, you will need to reinstall UniData to go back to the original
settings.

Check and fix permissions


On installations, initial permissions can be logged so that after the installation if a permission change
occurs, then the script can reset the permissions back to the values at installation. For upgrades, sites

188
Configuration files

do change the default permissions, so this permissions feature allows for the existing permissions to
be logged, then changed during the normal upgrade process and if selected fixed back to the original
values. New files would be using the default values.
The permissions for the following files/directories are logged if found:
▪ /usr/ud##
▪ $UDTHOME/sys
▪ $UDTHOME/lib
▪ $UDTHOME/demo
▪ $UDTHOME/log
▪ $UDTHOME/logs
▪ $UDTHOME/objcall
▪ $UDTHOME/Sybase
▪ $UDTHOME/work
▪ /.unishared and its related path
▪ /.udlibs*
During the installation/upgrade, the process will prompt to either ‘Do you want to log default
permissions’ on installations or ‘Do you want to check permissions’ on upgrades. The message is
slightly different but the parameter checked is ‘CheckPerms’. If set to yes, and the default is no then
the permissions above are checked.
The following file permissions are logged:
▪ File type
▪ Owner
▪ Group
▪ Permissions (stored in octal format)
On upgrades if the first parameter is enabled, then a second prompt is displayed asking if permissions
should be ‘fixed’ and set back.

Note: This fixing segment may take a few minutes because it needs to compare the permission
values on a minimum of 2,000 files between the old and new environments.

When the ‘fix’ permissions code is executed to compare the differences, a status report of every 500
files are displayed. Use the udtsetup –lp command after the install to show a list of the permission
differences.
If you use the udtsetup –rp command after the installation/upgrade is done, it will reset the
permissions back to the values stored at installation/upgrade time.
If you use the udtsetup –up command, this will clear the stored permission values and update
them to the current values.

Configuration files
There are three configuration files stored for these permission changes in the /usr/ud##/include
directory:
▪ udtpermsprev.info – Previous Permissions (used on upgrades)
▪ udtpermsdiff.info – Compare results of old and new permissions (used with –lp option,
upgrades only)
▪ udtpermscurr.info – Current permissions list (used with -rp and –up options)
If these files are cleared/removed, permissions reset/update options will no longer function.

189
Appendix A: Introduction to udtsetup

URI (Uniform Resource Identifier) support


Uniform Resource Identifier (URI) support allows the udtsetup process to download the binary
installation file (bin.tar) and custom configuration files from an external web resource like a web
server and use them during the installation/upgrade process. The udtsetup script will need to be local
to the UNIX/Linux system where UniData is being installed.
The files are downloaded to a local directory called udtsetup.uri.tmp in the directory where you
execute udtsetup.
With current versions of udtsetup, only the ‘curl’ command is supported to get files from URI
resources. The ‘curl’ command is available on all UNIX/Linux platforms UniData is supported. Usually,
no extra setup is needed to get curl installed. If curl is not on your system, please refer to your OS
vendor documentation or Curl’s website: http://curl.haxx.se/. The ‘wget’ command was researched
but it was found to not work on all platforms available and required extra setup.
If using Internet Information Services (IIS) or possibly other webservers, all extension types should be
supported as the list of custom files has many different options. For instance, in IIS, update the ‘MIME
Types’ option for each extension being used. If wanting it to be text based, the set the ‘MIME type’
value to ‘text/plain’. Curl will be unable to download files if you browse the file path and can’t open
the file via browser.

Files supported via URI calls


If using the '-uri' option, these files will be checked at the address given:
▪ param_file or udtsetup.param - Parameter file, if named differently use the ‘-urif’ option
▪ bin.tar - Media tar file, if named differently use the ‘-urit’ option
▪ Various config files (see Custom configuration files, on page 193 for details):
▪ ud_database
▪ UDTSPOOL.CONFIG
▪ UD.ACCOUNT
▪ vvtermcap
▪ loglevelconfig
▪ msglevelconfig
▪ udt_lic_exp_notify
▪ udtconfig, parttbl
▪ repacct.def
▪ repsys
▪ repconfig
▪ arch_backup
▪ arch_restore
▪ mediaconfig
▪ archconfig
▪ logconfig
▪ .udsrcfile
▪ udtelnet.conf
▪ .unisecurity
▪ base.mk
▪ unirpcservices
▪ For the 8.1+ logging *.cfg files, create a tar file with the name u2logging.tar that includes all
*.cfg files as 'curl' does not support wildcard downloads.

190
Testing URI support

Testing URI support


Please test that ‘curl’ works on your system first before using it via udtsetup.
A good test from the OS command prompt is:
1. Create a test.txt file on the external URI/Web server.
2. Run the command curl -f http://my-ip-address/udt/test.txt -o test.txt. 
If the local (to UNIX/Linux server) test.txt file does not exist, then udtsetup will be unable to
download files with curl.
URI support in the udtsetup script is currently only available via command line options and the
parameter file. There are no prompts that request information. If the information is included in the
parameter file it is read in during initialization tasks.

URI command line options

Option Description
-uri url Download/Use custom files (param_file,bin.tar)
-urif url/param Download param file from web path given
-urit url/my.tar Download media tar file from web path given
-uriuf url/param Download param file from web path given (unsorted)
-kuri Keeps URI temporary files

-uri url Command line option


This parameter requires a URI option that points to the location where any custom files are located.
Only one path is allowed, so all custom files need to be located in that directory. The exceptions to
this are the parameter file and bin.tar file, for these options use the –urif (or –uriuf) or –urit options
to specify a different location. You can use the ‘URI’ parameter to specify the location of the URI path
(need to have local parameter file for this).

Warning: If this option is used the custom directory check in the parameter file is not done. If '-
urit' or '-urif' were previously used, then param_file and bin.tar checks are not done again if
this option is used afterwards.

-urif url/param or –uriuf url/param Command line option


The ‘-urif’ specifies the parameter file to download first, then will search a local version of the file for
remaining parameters. The ‘-uriuf’ is tells the script to not use a sorted parameter file when updating
values, the default is sorted. There is no parameter file value for this command line option.
If the ‘-uri’ option was used previously, you can use this option and specify just a different filename to
use instead. For example if the -uri http://1.2.3.4/udt –urif my.param.file options
are used, the file that is downloaded is http://1.2.3.4/udt/my.param.file.

-urit uri/my.tar Command line option


This option specifies the location of the tar file to use. This option is helpful if the tar file is not called
bin.tar. There is no parameter file value for this command line option.
If the ‘-uri’ option was used previously, you can use this option and specify just a different filename to
use instead. For example if the -uri http://1.2.3.4/udt –urit my.tar.file options are
used, the file that is downloaded is http://1.2.3.4/udt/my.tar.file.

191
Appendix A: Introduction to udtsetup

-kuri Command line option


This parameter keeps the local copies of any files downloaded from the URI site specified. The default
for this is to remove these temporary files. Use the ‘KeepURI’ parameter to enable this option from a
parameter file.

UDTURI environment variable


Support for an environment variable called ‘UDTURI’ is included in udtsetup. This variable allows the
user to set any addition parameters that ‘curl’ needs for commands used in the script.
No validation is done on these options.

Additional notes concerning URI options


If the ‘-uri’ option is not used, the parameter file is checked for the URI parameter. If found that path
would be used and all files will be download like if the user had used '-uri', except param_file is not
downloaded again.
Files are only downloaded from the URI site, they are not uploaded back. If a user uses the param file
and values change they will need to upload it back to the URI site.
Text files will have any carriage returns (CHAR 13)'s removed from their files. This is skipped for binary
files (like bin.tar).  
If using Microsoft IIS, make sure that you have MIME types defined for extension types being used,
otherwise, a 404 error may occur. If using files with no extension, specify the extension as ‘.’ (dot) and
MIME type as ‘text/plain’.
There is no option in ‘curl’ to add execute permissions.

Example
Here is a combined parameter example. First, the udtsetup file is downloaded from the web server
(previously extracted from the bin.tar file stored on the server:

curl -f http://192.168.71.218/udt/udtsetup -o udtsetup


chmod 755 udtsetup

There is no option with curl to set permissions on a downloaded file, so permissions will need to
be set manually for udtsetup before you can execute it. For files downloaded inside udtsetup, the
permissions will adjusted during the script.
Next, the –uri option is used to specify the location to download the bin.tar file and a udtconfig
file, the ‘-urif’ is used for a custom named parameter file and -kuri is to keep the files after the UniData
upgrade is completed:
./udtsetup -uri http://192.168.71.218/udt -urif udtsetup.parameters –
kuri

Files starting with . (period/dot)


The .unisecurity and .udscrfile files may not be reachable with curl, for these two files, the
non-dot versions of the files are checked first and if not found then the dot versions are checked.
For instance, the unisecurity file is checked first, and if found moved locally to .unisecurity, if
the unisecurity file is not found, then a call is made with curl to get unisecurity.

192
Custom configuration files/commands search path

Custom configuration files/commands search path


For custom configuration files or the custom commands functionality, the search path for these files
are in this order:
▪ If the ‘-uri’ option is used, the file is checked in the local directory for URI files
▪ $UDTHOME/custom directory
▪ If $UDTCUSTOM environment variable is set
▪ ‘CustomDir’ parameter in parameter file

Note: The custom directory path cannot be $UDTHOME or $UDTBIN.

Custom configuration files


With udtsetup you can apply custom configuration files to a UniData installation/upgrade.
This will help save time when configuring the system manually after the installation/upgrade process
completes in several ways including:
▪ Consistent configuration files between installs of UniData
▪ Lower chance of typos that cause UniData to not start or connect properly
▪ Automate manual steps
See Custom configuration files/commands search path, on page 193 for the directory order for
searching for these custom configuration files.
The custom config files are checked after the new installation files have been copied to the $UDTBIN
path and when certain files were previously updated using the udtinstall method. This includes files
like repsys, repconfig, udtconfig, ud_database, etc. Any new files that are supported in this
install that were not updated during the udtinstall/updatesys process, they are copied into place have
the ‘Save Directories’ prompt.
When a custom version of the repsys and ud_database files is found, the original file is backed up then
removed. If a merge functionality is needed for these files in the future, please contact support to
request this change.
Every configuration file has a different set of customizations that are allowed. See the list below for full
details on customizations allowed. Some configuration files will be copied into place.
When these custom config files are processed, the original version of the configuration file is copied
into the /usr/ud##/include/custom.bk.configs folder. The modified versions of the
configuration files are in /usr/ud##/include/custom.configs folder and the standard
place where they should be located after the installation/upgrade process.   If the new custom
file is different than the current custom file, the file in the custom.bk.configs folder will be
replaced. If the new file is the same as the current file, then the current file is not copied to the
custom.bk.configs folder. This distinction is needed so that if an upgrade is repeated and the
config files do not change, then the last config file is not replaced.
If the original file exists but is zero bytes, that file will not be backed up.
As each custom file is processed a processing message is displayed to the screen. The files are
processed a strategic points throughout the script. All of these message will not appear together. An
example of this output is: ‘Processing custom config file: unirpcservices’
Permissions on most configuration files are changed to default permission values during the script.
If you want to maintain permissions then it is best to use the check and fix permissions option.

193
Appendix A: Introduction to udtsetup

Otherwise, the check and fix permissions is not used and permission on a config file is not used, then
permissions on that file will be set to the previous value or a default of 644 (rw-r--r--).

Nonsupported files
The sysconfig is not supported since it is a copy of the port.note file and the serial number.  Also,
any files not listed below in the supported section are not supported in this functionality.

Configuration files supported


The current files that are supported are: 
▪ ud_database
▪ UDTSPOOL.CONFIG
▪ UD.ACCOUNT
▪ *.cfg [8.1 logging]
▪ vvtermcap
▪ loglevelconfig
▪ msglevelconfig
▪ udt_lic_exp_notify
▪ udtconfig
▪ parttbl
▪ repacct.def
▪ repsys
▪ repconfig
▪ arch_backup
▪ arch_restore
▪ mediaconfig
▪ archconfig
▪ logconfig
▪ .udsrcfile
▪ udtelnet.conf
▪ .unisecurity
▪ base.mk
▪ unirpcservices
The supported files are broken into two sections below:
▪ Files that have logic in the udtsetup script that can modify the configuration files with values
specific to the system. For example, set UDTHOME in ud_database correctly.
▪ Files that are just copied into place without the extra dynamic values supported.

Files that support dynamic values


udtconfig
The systest utility in the script may change the values for NUSERS, N_PGQ, N_TMQ and SHM_GNTBLS,
so if a custom udtconfig is used these settings may change. Also, if using the web authorization
feature, these values may change. Systest defaults NUSERS to ((number of UDT + number of
Connection Pool Licenses) * 1.25).

Note:
Starting at the 8.1.0 release, the default values for several existing udtconfig parameters have
changed. The new values are:

194
ud_database

▪ NUSERS: 256
▪ SHM_GNPAGES: 64
▪ SHM_GPAGESZ: 2048
▪ SHM_LMINENTS: 128
▪ SHM_LMINENTS: 128
▪ SHM_LPAGESZ: 16
▪ SBCS_SHM_SIZE: 4 MB (4194304)

Note: Checking against the udtconfig file uses the Operating System command bc. If bc is not
found, the NUSERS, N_PGQ, N_TMQ and SHM_GNTBLS udtconfig parameters will be updated via
systest.

Checks are only done for LOG_OVERFLO, PART_TBL, REP_LOG_PATH and UDT_LANGGRP all other
lines or commented out versions of these variables are copied into place.  The default value scripted
are:
LOG_OVERFLO=$UDTHOME/log/log_overflow_dir
PART_TBL=$UDTHOME/parttbl
REP_LOG_PATH=$UDTHOME/log/replog
UDT_LANGGRP=255/192/129
A full or partial udtconfig file is supported. For the variables listed in the previous bullet point, if
'DEFAULT' is the value, the default values used in the install script will be used.
If a custom archconfig file is found, udtconfig is updated to have N_ARCH match the number of
lines (that start with /)
ARCH_FLAG is not enabled if an archconfig file is found
If a custom logconfig file is found, N_BIMG and N_AIMG are adjusted to match the number of logs.

Note: If the user incorrectly defines this file these parameters may be set incorrectly and
cntl_install may report an error.

If a custom udtconfig file is found, but N_ARCHI, N_BIMG or N_AIMG are not found, the default values
will be add to the custom udtconfig file. This is done so that if a custom archconfig or logconfig file are
found these files will be properly updated.

ud_database
The existing file is backed up then removed.
The 'demo' ID will be replaced with the default value. The rest of the lines are copied.
If the 'UDTHOME=' line is set to 'DEFAULT' then the udtsetup script will replace that with the correct
$UDTHOME path. Otherwise, UDTHOME is checked to see if the account is not set to the current
udthome or does not exist (if so a warning is displayed in the log file).
No other checks are done on the file.

repsys
The existing file is backed up then removed. All lines are kept the same, with the following exceptions:
▪ SYSTEM if blank or set to 'DEFAULT' will set id to hostname_MajorVersion, ie. Myhost_81.
▪ HOSTNAME is set to the current hostname, can use 'DEFAULT'. If using DEFAULT, it will have the
fully qualified hostname (ie. myhostname.myco.com)
▪ VERSION is always set to the current major version (ie. 81), can use 'DEFAULT'.

195
Appendix A: Introduction to udtsetup

Note: If the HOSTNAME value in the custom file matches the current system exactly, the
VERSION will be set to the current version value in the script.

If repsysid was set through another manner (param file or user prompts), that ID will be used
instead.
▪ EXCEPTION_ACTION:  If the filename exists in the custom directory path, then it is copied to the
location specified in the repsys file. If the exception action script is in the custom directory and
repsys is not there, the exception action script is not copied.  Since this is a custom file name, it is
not supported through the URI options. The directory path referenced in this line will be created if
it does not exist. The permissions on this script is set to 814.
Unless SYSTEM, HOSTNAME or VERSION is set to DEFAULT, only one server set will be changed in this
file since usually multiple system configurations are listed (ie. Publisher and subscriber system info).

logconfig
This file is rebuilt from the custom file and the last field for the file log is set to NUSERS + 1. This will
avoid 'File log too small' errors.
unirpcservices
The file is copied to cat /.unishared/unirpc directory.
The same checks done for the default services types are done and paths will be modified. If there are
any custom service names, those paths will not be modified.

Note: For these files that except ‘DEFAULT’ as a value, the case of the value does not matter. The
script will up-case the value to check for ‘DEFAULT’.

Files copied with no dynamic value support

loglevelconfig, msglevelconfig, repconfig, arch_backup, arch_restore, mediaconfig,


archconfig, acct_licn.def
These files are copied into /usr/ud##/include with no validation checks.
For archconfig if this file is found, then N_ARCH value in udtconfig is adjusted to match the number
of lines in archconfig starting with ‘/’. However, the ARCH_FLAG in udtconfig is not changed.

UDTSPOOL.CONFIG
$UDTHOME/sys/UDTSPOOL.CONFIG.current and $UDTHOME/sys/
UDTSPOOL.CONFIG.default are deleted and the custom copy of this file is copied into place.

UD.ACCOUNT
This file is directly copied into $UDTHOME/sys/UD.ACCOUNT, since this is a database file, no checks
are done on the values in the records.

UniData 7.3+ U2 logging files


These files all have a *.cfg. Each file is copied into place, no validation is done. All of the copied files
are set to permission of 777.  If using the URI options, include all of these *.cfg files in a tar file called
u2logging.tar. The ‘curl’ command does not support wildcards in filenames.

196
Custom commands

repacct.def, vvtermcap, and udt_lic_exp_notify


These files are copied into $UDTBIN, with no validation checks.

parttbl
This file is copied into either default location or location specified by custom udtconfig, file is copied
over with no validation checks.

udtelnetd.conf, .udscrfile
This file is copied to cat /.unishared/unitelnet, no validation checks.

Note: The .udscrfile has been replaced by the .unisecurity file.

.unisecurity
This file is copied to cat /.unishared, no validation checks

base.mk
This file is copied to $workdir, same libpath check is done on the custom as is done on the standard
install file.

Custom commands
As part of the udtsetup script, administrators can call a custom commands list to perform additional
actions that are needed during installs/upgrades for their own application accounts.

Warning: This functionality allows a user to execute udt in directories. If there LOGIN paragraphs
that ask for input, then this functionality may not work properly. See UDTSETUP environment
variable/LOGIN Paragraph, on page 199 for more details.

The ability to run a custom script is controlled by the commands file. See Custom configuration files/
commands search path, on page 193 for the directory order.
Logging for the custom commands output is written to the udtsetup log file ($UDTBIN/
saved_logs/udtsetup.log) and to the custom log file ($UDTBIN/saved_logs/
udtsetup.custom.log). The custom log file is removed before each execution of udtsetup (when
custom commands are used).

Available parameters
The format of the commands is detailed below.
Checks in udtsetup are based on the first parameter. Parameters are broken up by ‘~’ tilde characters.
If you want to use a different field mark, set line one of the ‘commands’ file to ‘fm=!’ where ! is the
character you want to use. Do not use { or } characters as the special field mark value.

197
Appendix A: Introduction to udtsetup

First Parameter Details


Fully Qualified The remaining parameters will be ECL commands to run. Users should
Account Path check log for results.

Note: The account path cannot have spaces in it.


script The second parameter will be the shell script to run. Users will have to
use their own scripting to switch accounts, if using this option. Only
one script can be set for each of these lines. If the first character is not /,
then customdir and starting directory are checked for the script. If found
valid and has execute permissions will then run the script. This file is not
transferred via curl (if used).
timeout The second parameter is the number of seconds of timeout. This is used
by an internal function to kill the custom command if the timeout was
reached. This timeout will remain for all remaining custom commands
unless another ‘timeout’ line is found. Do not set ‘timeout’ to 0 (zero), some
commands may not work. The default is 2 minutes. If a timeout of 0 is set
the script will change it to one hour. If value is not numeric, then previous
value is used.
‘updatevoc’ If using options for updatevoc, include them with the first parameter,
all remaining parameters will be the fully qualified accounts to run the
command in. The language group is checked, if it does not match the
UDT_LANGGRP value in udtconfig, the updatevoc command is skipped. This
will avoid core dumps on some platforms.
‘fm=~’ Change field mark separator, the default value is ‘~’ and can be changed. Do
not use { or  } and do not use value set in any commands. Only the first ‘fm’
definition is used.

 
 

Custom command notes


▪ Commands/Accounts Processed will be executed in order of the script. The process is also single
threaded, so you will not be able to update multiple accounts concurrently. However, you can use
PHANTOM (udt level) and & (os level) in commands to help.
▪ Lines starting with ‘#’ are skipped.
▪ For accounts in parameter 1, each command afterwards is split by '~'. These commands are loaded
into a temporary file and then passed to the UniData shell in the foreground. PHANTOM was not
used because the output in _PH_ was not correct and a method was not easily found to use this as
a background process. So for now, commands are run sequentially and the script will wait until this
additional processing is done.
▪ The $UDTBIN/udt.d executable is used first if it is found; otherwise, $UDTBIN/udt is used to start
the UniData shells.
▪ For ‘updatevoc’ and account path options, if first character in account path is not ‘/’ then
$UDTHOME is checked for the account and if it is not found then it is skipped.
▪ If a timeout value is reached, the process will be killed and a kill message would be shown to the
screen.

Timeout message
When the timeout value is reached on a command, it will be killed.

198
Example commands file

The output would look something like this:

Timeout from 'ECL Commands For /disk1/ud81/demo', process 29627 killed.


./udtsetup: line 955: 29626 Done cat $ecltmpcmds
29627 Killed | $myudtcmd > ${ecltmpout} 2>&1

Example commands file


Below is an example ‘commands’ file that was used during testing:

# 'commands' - Custom commands list for udtsetup


# Look at $UDTBIN/saved_logs/udtsetup.custom.log for results
#fm=! ; # Only one character is checked on this line
#

#updatevoc's first
updatevoc~/disk1/ud81/demo~/disk1/accounts/udt
updatevoc -OC~/disk1/ud81/sys

# Set timeout once (value is in seconds)


timeout~30

# Run commands
# This line runs LISTUSER,PORT.STATUS, a COUNT of File pointers and VERSION
/disk1/ud81/demo~LISTUSER~PORT.STATUS~COUNT VOC WITH F1 = "F"~VERSION

# Using different 'fm' in sys, same as line above


#/disk1/ud81/demo!LISTUSER!PORT.STATUS!COUNT VOC WITH F1 = "F"!VERSION

# This account does not exist, and should report message


/disk1/ud81/bad_account~VERSION

# Set Timeout to confirm kill


timeout~1
/disk1/ud81/demo~SLEEP 10

# Set Timeout again


timeout~180

# Run shell script


script~/tmp/runudtscript -test
script~/tmp/notfound_script
# End of commands

UDTSETUP environment variable/LOGIN Paragraph


Toward the end of the udtsetup script UniData is started for either Licensing or Custom Commands. A
variable is set in the script called UDTSETUP and set to a value of 1. If commands are run in a UniData
account that includes a LOGIN paragraph that prompt for input, the process will fail to complete.
Customers must modified their LOGIN paragraph to check for this environment variable. There is no
functionality in the product to bypass login paragraphs.
One way to check for this variable is:
Set the LOGIN record in the UniData account to include code like:

PA

199
Appendix A: Introduction to udtsetup

RUN BP CHECK.FOR.UDTSETUP
IF @USER.RETURN.CODE = “1” THEN GO DONE
DISPLAY “DO REMAINING STEPS HERE”
DONE: *

Create a CHECK.FOR.UDTSETUP program to do the following:


IS.UDTSETUP = GETENV(“UDTSETUP”)
IF IS.UDTSETUP THEN @USER.RETURN.CODE = “1”

Frequently Asked Questions (FAQ)


Question: How much space is needed in /tmp for install files?
Answer: Approximately 10 - 25MB.
Question:  What files are needed during the udtsetup startup tasks?
Answer: The systest, accessory, port.note, patch.note, hostinfo and license.txt
files are needed during startup tasks.
Question: What is the oldest UniData version the udtsetup script will work with?
Answer: The udtsetup script has only been tested with UniData 7.2.x and later, but it may work back
to UniData 4.1.x. It was at the 4.1.x release when required files that the script uses were added to the
UniData product.
Question: I am running in a language group other than 1. Is there anything to be concerned about?
Answer: Convmark runs on the $UDTHOME/sys/VOC file. If the language group for that file does not
match UDT_LANGGRP in udtconfig, then the updatevoc and srchacct commands are skipped. If using
a custom commands list and using the updatevoc feature, these VOC files are also checked for the
correct language group. If they do not match then updatevoc for each custom account is skipped. Run
the udtlangconfig to configure the language group as needed.
Question: Why are the log files stored in $UDTBIN/saved_logs instead of $UDTBIN?
Answer: The udtsetup script starts with logs in /tmp with the main log being /tmp/
udtsetup.partial.log. Only after the installation/upgrade does the file get moved to
$UDTBIN/saved_logs/udtsetup.log. This is done in case the $UDTBIN directory is removed/
restored and support needs to look at the initial/partial log. The saved_logs path was used since
the next time UniData is restart the logs in $UDTBIN get moved to $UDTBIN/saved_logs, this just
saves a step. The udtsetup logging is not pruned by the trunclog command.

200

You might also like