How does eTrust Directory r8.1 upgrade to Ingres r3?

Document ID : KB000055547
Last Modified Date : 14/02/2018
Show Technical Document Details

The following information applies to eTrust Directory versions 8.1.710 and later:

The table below defines various scenarios you may face when running an eTrust Directory r8.1.x DXSetup.exe to apply a latest Service Release to an existing eTrust Directory installation. Please see the key at the bottom of the table also.

Figure 1

Key:  

A green tick indicates the Directory and Ingres Versions for the start of the scenario
A gray cell indicates that the Directory/Ingres version is either not a valid combination or a highly unlikely starting scenario

In the After section of the table, the following notes are of importance when reading the cell values:

upgraded to r3 (a). If existing Ingres is already >= Ingres shipped with eTDir, then no upgrade will be done.
error (b). User must dump and backup data, uninstall old eTdir/Ingres, install eTDir r8.1 and create and load DBs
upgraded to r3 (c). Default but optional, user may choose to stay with Ingres 2.6
N/A (d) - Should not happen. On UNIX a new r3 is installed, user must move DBs manually

Installs (no previous eTrust Directory)

  • If Ingres r3 is already installed, then eTrust Directory will be configured to use it. eTrust Directory will not have a reference count for Ingres and will not remove it ever. Dxsetup will not change any of the existing Ingres configuration parameters. The logs will list that this did not happen.

  • If there is no Ingres installed, dxsetup installs and configures Ingres r3.

  • If there is an Enterprise Ingres 2.0, 2.5 or 2.6, then dxsetup installs and configures Ingres r3 in parallel to the installed Ingres installation(s). (see Issue A below)

  • If there is an Embedded Ingres 2.0 or 2.5, then

    • On Unix, dxsetup offers to upgrade it to Ingres r3. If the user says no, dxsetup will exit with an error.

    • On Windows, dxsetup exits with an error message.

  • If there is an Embedded Ingres 2.6, then

    • On Unix, dxsetup offers to upgrade it to Ingres r3. If the user says no, eTDir will use the existing Ingres 2.6.

    • On Windows, dxsetup installs and configures Ingres r3 in parallel to the installed Ingres installation(s). (see Issue A below)

Upgrades

  • On Unix - all previously installed Ingres versions are upgraded to Ingres r3 (unless the user disagrees, in which case the same rule as described above apply.

  • On Windows:

    • If Ingres r3 was NOT installed by the existing eTDir, then it will NOT be upgraded to avoid complications for products that installed that Ingres.

    • If eTDir's Ingres is 2.0 - dxsetup exits with an error message.

    • If eTDir's Ingres is r3, dxsetup will only upgrade Ingres if it is an older build than what we ship.

    • If eTDir's Ingres is 2.6, dxsetup will ask the user if they wish to continue using 2.6 (default). If the user wants to use r3 instead, then dxsetup exits with error if there are any DBs under Ingres 2.6. The user must dump the data, remove their DBs, install Ingres r3, recreate their DBs and reload the data with r8.1. For silent installs, the installation will just keep Ingres 2.6.

Removals

Before dxsetup will attempt to remove the last Ingres instance it will check if there are databases still installed. This is explained in the Readme.

Switching Ingres Installations

  • You can change the II_SYSTEM used by DXserver. For behavior on Windows see below:

    eTrust Directory r8.1 Ingres / Service setup configurations
     This is the name of the user that each service is set to "Log On As". This is all services for dxserver including ssld, and dxadmind, but excluding dxwebserver
    Operating System Ingres Version Ingres File Version Service Logon Internal Windows User Name
    Windows XP Ingres r3 3.0.2.11600 Local Service NT AUTHORITY\LocalService
    Windows XP Ingres 2.6 2.6.0305.0414 Local Service NT AUTHORITY\LocalService
    Windows 2000 Ingres r3 3.0.2.11600 Local Service NT AUTHORITY\LocalService
    Windows 2000 Ingres 2.6 2.6.0305.0414 Local Service NT AUTHORITY\LocalService
    Windows 2003 Ingres 2.6 2.6.0305.0414 Local Service NT AUTHORITY\LocalService
    Windows 2003 Ingres r3 3.0.2.11600 Local Service NT AUTHORITY\LocalService
    Windows commands for switching Ingres installations used by Dxserver    
       
    Command II_System used by Dxserver/Dxadmind    
    dxsetup -setii %II_SYSTEM%    
    dxsetup -setii c:\Ingresr3 c:\Ingresr    
    dxsetup -setii c:\Ingresr3 New c:\Ingresr3 New    
    dxsetup -setii "c:\Ingresr3 New" c:\Ingresr3 New    
         
    dxsetup -removeii None (DXCache/ Router only)    
         
    dxsetup -getii <current II_SYSTEM used by dxserver>   

Issues

If the exiting Ingres installation is EI and the scenarios above specify that eTrust Directory install Ingres r3, then dxsetup will exit with an error, because there can be only one install code EI.

  • An eTrust Directory uninstall will NOT remove Ingres if eTrust Directory did not install it previously. It may be possible to uninstall eTrust Directory but still have databases sitting under Ingres that were only used by eTrust Directory.

  • If eTrust Directory does not install Ingres it will not keep a reference count for Ingres. It is possible for someone else to remove Ingres and all databases used by eTDir. There is hope that the Ingres uninstall handles this appropriately.

  • If you wish to move your databases from Ingres 2.x installations to Ingres r3, see the section Upgrade Ingres in Chapter 21 of the r8.1 Administrators Guide (available from eTrust Directory main page on SupportConnect).

FAQ

Q1: Can I enforce an Ingres upgrade?
Answer: On Windows, eTrust Directory will only upgrade an Ingres it previously installed. You must download the Ingres upgrade from where you got the original Ingres.

Q2: Due to the changed security concept, I cannot see the old DB's (owner is system). Is there a recommended way to grant the logged on user access to these databases to see them in dxlistdb and to upgrade them with dxupgradedb?
Answer: On Windows, the DBs created with eTDir r8.0.nnn will be owned by the user system. Ingres r3 does not recommend to use system, because that allows anyone to destroy and update your DBs. All tables created with eTrust Directory r8.1 are owned by the logged in user. You cannot access DBs created with eTrust Directory r8.0 with the r8.1 binaries. The workaround is to run:

dxadduser system 
dxadduser user 

and change the Dxserver services to login as system.

Post-Upgrade considerations for Windows

On Windows, under Ingres 2.6, all databases were owned by 'ingres' and any user could run any dxtool against any database. Under Ingres r3, security has been tightened up, with the following consequences:

  • all databases are owned by the user who created them, ie, administrator, surlu02, fred

  • other users cannot manage databases not owned by them

To see who owns a database, run infodb dbname

C:\>infodb democorp
==================Tue Oct 03 14:22:41 2006 Database Information=================
    Database : (democorp,administrator)  ID : 0x45206296  Default collation : default
Unicode enabled : No
Extents : 5 Last Table Id : 288
Config File Version Id : 0x00060001 Database Version Id : 8
Mode : DDL ALLOWED, ONLINE CHECKPOINT ENABLED
Status : VALID

The above database is owned by 'administrator'.
To give other users access to this database, you must add them as an Ingres user

dxadduser user 

This allows user to run Ingres commands such as SQL. DXtools which can only be run as the database owner will return various output depending on the command. For example,

C:\>dxlistdb

returns blank if this user does not own any databases.
A dxtunedb can only be run by the database owner:

C:\>dxtunedb democorp
>> Collecting statistics on ENTRY ...
E_OP0911 optimizedb: database 'democorp', table 'entry' cannot be found or is not owned by you.
>> Collecting statistics on BLOB ...
E_OP0911 optimizedb: database 'democorp', table 'blob' cannot be found or is not owned by you.
>> Collecting statistics on SEARCH/1 ...
E_OP0911 optimizedb: database 'democorp', table 'search' cannot be found or is not owned by you.
>> Collecting statistics on SEARCH/2 ...
>> Collecting statistics on SUBSEARCH ...
E_OP0911 optimizedb: database 'democorp', table 'subsearch' cannot be found or is not owned by you. >> Collecting statistics on DIT ...
E_OP0911 optimizedb: database 'democorp', table 'dit' cannot be found or is not owned by you.
>> Collecting statistics on TREE ...
E_OP0911 optimizedb: database 'democorp', table 'tree' cannot be found or is not owned by you.

This user does not own this database.

To avoid these inconsistencies, we recommend assigning a single user as the "DXserver Administrator". Any maintenance should be run by this user. Any automated scripts should be run as this user, or by calling 'runas'

C:\>runas /user:hostname\administrator "dxtunedb democorp"
Enter the password for hostname\administrator:
Attempting to start dxtunedb democorp as user "hostname\administrator" ...