Installing a Server under UNIX

This section describes how to install Entire Access on a UNIX server. It covers the following topics:

Special requirements for DataDirect ODBC clients and servers are described in the section DataDirect ODBC on UNIX.


Before You Install

Please read the following information, before you proceed with the installation:

Client and Server Versions

This version of Entire Access is downward compatible only to Version 6.1, but not to any older version of Entire Access.

A client with Entire Access Version 6 can only access servers of Entire Access Version 6, and Entire Access Version 6 servers can only be accessed by Entire Access Version 6 clients.

Hardware and Operating-System Requirements

The following tables show the minimum operating-system versions and hardware requirements for selected UNIX platforms supported by Entire Access. For a complete list of supported platforms, contact your Software AG representative.

Operating System Hardware Requirement
AIX 6.1 or 7.1 Power 64-bit
HP-UX 11i v3 IA64
SUSE Linux Enterprise Server 11 and 12 x86-64 or IBM z/Linux 64
Redhat Linux Advanced Server 6 and 7
Solaris 10 or 11 64 Ultra SPARC

Other Software Requirements

TCP/IP is required on both client and server machines for remote access.

For information about additional client-machine requirements, see the section for the client platform.

For information about the use of third-party network products, see the section Remote Data Access Using Third-Party Network Products.

UNIX Compiler Support

Entire Access supports the vendor compiler, including the Linker or Loader, for each supported UNIX platform.

Database Servers Supported

Support for specific databases depends on the UNIX platform(s). Except where noted, access can be either local or remote.

The following database server versions are supported:

  • Adabas D 15

  • DB2 9 and 10

  • Informix 11 and 12

  • Oracle 11g and 12c

  • Sybase 15.x CTLIB and DBLIB

  • ODBC-compliant servers (local access)

Informix

Informix users must perform the following steps:

  • Use Informix-ESQL/C (embedded SQL for C), which is also known as Informix Client SDK. The Client SDK should be installed in the directory $INFORMIXDIR. It provides the libraries required to build the server daemon and/or the Natural that includes the driver.

    Informix-SE is not supported.

  • Turn on (buffered or unbuffered) logging for each database to be accessed with Entire Access. Refer to the Informix documentation for information about enabling the logging facility.

Oracle

With Oracle, problems may occur in conjunction with fields of types LONG and LONG RAW. These problems are due to the status of the OCI API in the 64-bit Oracle versions. Instead of LONG and LONG RAW, use types CLOB and BLOB respectively.

Database System Preparation

Before you begin to install Entire Access, perform the following steps:

  • Install your DBMS software.

  • Set the environment variables for the relevant RDBMS. See the table below for a list of the environment variables required for each RDBMS.

  • DB2 users: Create the links for the DB2 libraries with the command db2ln. See the DATABASE 2 UNIX installation guides for more information.

Environment Variables

RDBMS users must set the environment variables according to the shell being used, as shown in the following table. Except where noted, these variables are required at build time and/or runtime.

RDBMS Environment Variable Build/Run Time
Adabas D

DBROOT

DBNAME (optional) 1

PATH=$PATH:DBROOT/bin

Build/Run

Run

Run

DB2

DB2_HOME

DB2INSTANCE

PATH=$PATH:$DB2_HOME/sqllib/adm:
$DB2_HOME/sqllib/bin:
$DB2_HOME/sqllib/misc

Build

Run

Run

Informix

INFORMIXDIR

PATH=$PATH:$INFORMIXDIR/bin

SQLEXEC=$INFORMIXDIR/lib/sqlrm

INFORMIXSERVER=host-name

INFORMIXSHMBASE=shmbase / 10242

Build

Run

Run

Run

Run

Oracle

ORACLE_HOME

ORACLE_SID

TWO_TASK (optional) 3

Build/Run

Run

Run

Sybase DBLIB and
Sybase CTLIB

SYBASE

DSQUERY

Build

Run

1

If DBNAME is set, it will override the database specified in the connect string (that is, Entire Access for TCP/IP will connect to the database specified in DBNAME and not to the database specified in the connect string); for further information on connect strings, see the section Define the Data Sources.

2

When you use Natural to access a local Informix database, you may receive Informix error -25588 if the default Shared Memory Address from Informix conflicts with the Natural buffer pool. To resolve this error, set the environment variable INFORMIXSHMBASE to a value that depends on the Informix configuration parameter SHMBASE. For example, if SHMBASE is set to 536870912 (0x20000000), set INFORMIXSHMBASE to 524288 (0x20000000 / 0x400) as follows:

  $ INFORMIXSHMBASE=524288
  $ export INFORMIXSHMBASE

When you use Natural to access a local Informix database on AIX, Solaris or other platforms that may apply, you may receive the following undocumented Informix error:

  -1829
  Unable to load locale categories.

Setting any or all of the following variables is likely to resolve this error:

  $ CLIENT_LOCALE=en_US
  $ DB_LOCALE=en_US
  $ SERVER_LOCALE=en_US
  $ export CLIENT_LOCALE DB_LOCALE SERVER_LOCALE

For more information, see The Informix Guide to SQL: Reference or The Informix GLS Programmer's Manual.

3

TWO_TASK must be set to "P:" if the database instance to be accessed is on the local machine. If TWO_TASK is set, it will override the database instance specified in the ORACLE_SID environment variable.

Installation Procedure

Before you perform the installation procedure described below, unpack the product from the installation medium, as described in the file README.CD.

Then perform the following steps to install Entire Access. Each step is valid for any supported UNIX platform.

Step 1 - Log In at the UNIX System Prompt

Log in as "sag"; do not log in as "root".

Step 2 - Generate the Environment File

The environment file sagenv.new must be modified to include the required environment variables before using Entire Access.

Note:
If you have an existing sagenv.old environment file, be sure to rename it; otherwise, it will be overwritten later in this step when the sagenv.new file is automatically generated and the existing sagenv.new file is renamed to sagenv.old.

Execute the interactive SAGINST script to generate the sagenv.new file.

  1. To start the script, enter the following commands:

    cd $SAG 
    ./SAGINST

    The script ensures that the SAG environment variable has been established; it then displays a list of all products in the supplied $SAG directory.

  2. Select each required product from the list by entering the corresponding number (from the left-hand column) after the prompt. Use spaces to separate the numbers.

  3. Press ENTER to generate the sagenv.new file.

    The generated sagenv.new file includes all environment variables required to use the selected products. If sagenv.new already exists, it is automatically renamed to sagenv.old and the previous sagenv.old is overwritten.

  4. If you are performing an update installation (that is, you selected only the new products to be added to your existing sagenv file), use the concatenate command to append the sagenv.new to your existing sagenv file.

Step 3 - Select the Local Database Drivers

Use the interactive osxlibs.sh script to select the database drivers(s) to be used by Entire Access. The selected database drivers for the local databases will be built; they can be used for local access, or for remote access via the Entire Access server (see Step 4).

  1. To change your directory, enter the following command:

    $ cd $OSXDIR/$OSXVERS/bin
  2. To start the script, enter the following command:

    $ osxlibs.sh

    A list of database drivers appears.

  3. Select each desired driver by entering the corresponding number (from the left-hand column) after the prompt and pressing ENTER.

    To deselect a database driver, reenter the number for that driver at the prompt and press ENTER .

    Each selected entry is indicated by an asterisk (*) to the left of the number column. In the following example, the selected entry (*) is local Adabas D 15.

                  ENTIRE ACCESS for TCP/IP v6220 (Linux x86-64) 
                  ==============================                
                                                                
                                                                
         1  -  remote ENTIRE ACCESS NET                         
         2  -  local Oracle                                     
      *  3  -  local Adabas D 15                                
         4  -  local DB2                                        
         5  -  local Sybase DBLIB                               
         6  -  local Sybase CTLIB                               
         7  -  local Informix                                   
         8  -  local DataDirect ODBC                            
                                                                
         g  -  Generate 'osxlibs.lst'          q  -  Exit       
                                                                
    please select an entry:                                     
                
    
  4. After making your selections, enter "g" and press ENTER.

    The following is an example of the confirmation screen that appears. It lists the values of the environment variables found for the drivers you selected.

    You have chosen to build the following environments                             
                                                                                    
            - local Adabas D 15                                                     
                                                                                    
    $OSXDIR      = /FS/fsdb/products/osx                                            
    $OSXVERS     = v6220                                                            
                                                                                    
    $DBROOT      = /FS/fsdb/adabasd/aad/v1501                                       
                                                                                    
    aad15                                                                           
    cpclnk tdb10_15 -o VTX10.so -shared tb2.a  -lcrypt -lnsl -lncurses              
    cc -o tdb10_15 -m64 tdb10_15.o -o VTX10.so -shared tb2.a -lcrypt -lnsl -lncurses
     /FS/fsdb/adabasd/aad/v1501/lib/pcrlib.a /FS/fsdb/adabasd/aad/v1501/lib/pcd1lib.
    a /FS/fsdb/adabasd/aad/v1501/lib/pcd2lib.a /FS/fsdb/adabasd/aad/v1501/lib/pcd3li
    b.a /FS/fsdb/adabasd/aad/v1501/lib/libsqlrte.a /FS/fsdb/adabasd/aad/v1501/lib/li
    bsqlterm.a /FS/fsdb/adabasd/aad/v1501/lib/libsqlptc.a -lncurses -lm /FS/fsdb/ada
    basd/aad/v1501/lib/sqlca.a                                                      
    mv VTX10.so ../bin                                                              
    mv ../bin/VTX10.so ../bin/AAD15.so                                              
                                                                                    
                                                                                    
    Press <enter> to see the file '/FS/fsdb/products/osx/v6220/osxlibs.lst'         
    
    

    Note:
    Entire Access supports shareable libraries so that, for example, a generic Natural can be built from OSXAPI.so, and the target RDBMS for the client application is in fact determined by the connect string. This means that Natural can be built once for all RDBMS drivers without specifically loading any RDBMS driver code into the Natural nucleus. For example, from an Adabas D 15 object called tds10 15.o an object called AAD15.so will be created as the shareable library. AAD15 is the executable responsible for loading the AAD15.so shareable library.

  5. When using shareable libraries, you may need to set an additional variable.

    If you do not set the appropriate environment variable, the shareable libraries might not be found.

    When using shareable libraries with: Set the variable:
    AIX 64-bit LIBPATH or LD_LIBPATH_PATH
    Solaris 64-bit LD_LIBRARY_PATH_64
    HP-UX 64-bit when using 32-bit utilities (SQL*Plus) SHLIB_PATH
    HP-UX 64-bit only LD_LIBRARY_PATH
    Linux LD_LIBRARY_PATH
    other UNIX Consult the appropriate programmer's manual.

    Note:
    Some operating systems may use more than one variable or one that is not included in the above table. See your operating-system documentation.

    Under HP-UX 64-bit operating systems, the runtime may require one or two libraries to be preloaded which are not used by Entire Access. This scenario typically happens when using a server as opposed to a local RDBMS access. Most commonly, LD_PRELOAD is used to solve this HP condition and can be specifically confirmed via the Entire Access traces.

    The following is an example error message:

    DLLLOAD: ORA, Cannot dlopen load module 
                      '/lib/pa20_64/libcl.2' 
                      because it contains thread specific data.
    

    The following is an example LD_PRELOAD setup:

    $ LD_PRELOAD=$LD_PRELOAD:/lib/pa20_64/libpthread.1
    $ LD_PRELOAD=$LD_PRELOAD:/lib/pa20_64/libcl.2
    $ export LD_PRELOAD
    

    Then you have to restart the Entire Access server.

    With Informix 9.2 under AIX, set the LIBPATH variable as follows when using shareable libraries:

    $LIBPATH=/RDBMS/informix/lib/esql:/RDBMS/informix/lib:/usrlib
    $export LIBPATH
  6. Verify that the environment variables are correct; then press ENTER to generate the osxlibs.lst file. The screen displays the contents of this file as it is being generated.

    The osxlibs.lst file contains a list of all database libraries to be linked to the Natural prelinked object natraw.o. The Natural make file uses osxlibs.lst when a new Natural environment is built with make natural osx=yes ....

  7. The build process for local database drivers can also be started without using the osxlibs.sh script.

    Enter the makedb command with a valid database identifier to build the desired database driver:

    makedb identifier
    identifier Database Driver
    aad15 Adabas D 15
    cli DataDirect
    db2 DB2
    inf Informix
    ora Oracle
    syb Sybase DBLIB
    syb10 Sybase CTLIB

    Note:
    If necessary, modify the paths in the corresponding makesrv.??? file in order to match your specific system requirements.

Step 4 - Start the Entire Access Server (for Remote Access)

  1. Access the bin directory of the osx installation by entering the following command:

    $ cd $OSXDIR/$OSXVERS/bin
  2. Make sure that the database environments for all RDBMS are loaded correctly.

  3. Use the interactive osxopr.sh script to start a server dispatcher:

    $ osxopr.sh
    ----------------------------------------------------------------
         ENTIRE ACCESS for TCP/IP
          ========================
     
            1  -  show status
            2  -  start a server
            3  -  kill a server
            4  -  ping a server
     
            q  -  exit
     
     
    please select an entry:
    2
    
    
    ----------------------------------------------------------------
          ENTIRE ACCESS for TCP/IP (start a server)
          ========================
     
     
    please enter the server number
    8888
    
    
    starting server with number 8888
    
    
    ----------------------------------------------------------------
          ENTIRE ACCESS for TCP/IP
          ========================
     
            1  -  show status
            2  -  start a server
            3  -  kill a server
            4  -  ping a server
     
            q  -  exit
     
     
    please select an entry:
    1
    
    
    ----------------------------------------------------------------
            ENTIRE ACCESS for TCP/IP (show status)
            ========================
     
     
    ENTIRE ACCESS for TCP/IP directory:   /usr/natdev/OSX_TEST2/osx
    ENTIRE ACCESS for TCP/IP version:     v6220
    Available server:          SYBASE 12 DBLIB, SYBASE 12 CTLIB,
    Available utilities:       serversingle, serverping, serverkill,
     
    press <return> to continue
    
    
    ----------------------------------------------------------------
            ENTIRE ACCESS for TCP/IP (show status)
            ========================
     
    Available Server Daemon ports:  8888   
     
    list of active client/server connections:
     
         TYPE                INST.   OWNER
    --------------------------------------
     
    press <return> to continue
    
    
    ----------------------------------------------------------------
          ENTIRE ACCESS for TCP/IP
          ========================
     
            1  -  show status
            2  -  start a server
            3  -  kill a server
            4  -  ping a server
     
            q  -  exit
     
     
    please select an entry:
    4
    
    
    ----------------------------------------------------------------
          ENTIRE ACCESS for TCP/IP (ping a server)
          ========================
     
    please enter the server number:
    8888
    
    
     
    please enter the hostname (default: sunedb):
    
    pinging server with number 8888 on sunedb ...
     
    server #8888 is alive and kicking
    
    

Entire Access Directory Structure Under UNIX

The following is the Entire Access directory structure under UNIX:

graphics/unix_dir_structure.png