• Topic
  • Discussion
  • UdaWikiWeb.UnableToAllocateServerHandle(Last) -- Owiki? , 2016-08-19 15:01:30 Edit owiki 2016-08-19 15:01:30

    Error Message: Unable to Allocate Server Handle

    "Server handle" errors suggest environment or compatibility problems. If you receive "server handle" errors, take the action indicated for your target database and driver type.

    Oracle

    Oracle with Single-Tier "Lite" Edition Drivers

    1. Log in to the machine that contains the problem driver.
    2. Ensure that this machine contains a full Oracle database install, Net 8/9/10/11, or an Instant Client.
    3. Ensure the oracle user owns the driver installation.
    4. Ensure the "bitness" of the driver matches the "bitness" of the Oracle instance, i.e., 32-bit or 64-bit.
    5. Ensure ORACLE_HOME passes the path to local Oracle installation.
    6. Ensure ORACLE_SID names the target ORACLE_SID wherever it resides.
    7. Identify the directory that contains the Oracle libraries. Instant Client installations generally consist of one directory that serves as both $ORACLE_HOME and the library directory. Full installations and Oracle client installations tend to have lib, lib32, and/or lib64 sub-directories that contain various libraries. You want to identify the library directories that match the bit format of your OpenLink driver.
    8. Confirm that the library path variable appropriate to your OS includes the directory that contains the relevant Oracle libraries. The library variables are:
      AIX LIBPATH
      HP-UX 32-bit libraries: SHLIB_PATH
      64-bit libraries: LD_LIBRARY_PATH
      All Other Unix-like OS LD_LIBRARY_PATH
      Windows PATH

    9. Test your connection.

    Oracle with Multi-Tier Drivers

    1. Log in to the machine that contains your OpenLink server components.
    2. Ensure that this machine contains a full Oracle database install, Net 8/9/10/11, or an InstantClient.
    3. Ensure the oracle user owns the installation.
    4. Ensure the "bitness" of the driver matches the "bitness" of the Oracle instance, i.e., 32-bit or 64-bit.
    5. Ensure ORACLE_HOME passes the path to local Oracle installation.
    6. Ensure ORACLE_SID names the target ORACLE_SID wherever it resides.
    7. Identify the directory that contains the Oracle libraries. Instant Client installations generally consist of one directory that serves as both $ORACLE_HOME and the library directory. Full installations and Oracle client installations tend to have lib, lib32, and/or lib64 sub-directories that contain various libraries. You want to identify the library directories that match the bit format of your OpenLink installation.
    8. Confirm that the library path variable appropriate to your OS includes the directory that contains the relevant Oracle libraries. The library variables are:
      AIX LIBPATH
      HP-UX 32-bit libraries: SHLIB_PATH
      64-bit libraries: LD_LIBRARY_PATH
      All Other Unix-like OS LD_LIBRARY_PATH
      Windows PATH

    9. cd into the bin sub-directory of your OpenLink installation.
    10. Use a text editor to open the oplrqb.ini file.
    11. Locate the [Environment ORACLE*] section that corresponds to your OpenLink database agent. For example:


      [Environment ORACLE100] ORACLE_HOME = /dbs5/oracle9i/64bit/v9.2.0.1.0 ORACLE_SID = ora92 LD_LIBRARY_PATH = /dbs5/oracle9i/64bit/v9.2.0.1.0/lib

    12. Ensure that the ORACLE_HOME, ORACLE_SID, and LIBPATH/SHLIB_PATH/LD_LIBRARY_PATH variables are properly set here as well.
    13. Exit the file.
    14. Execute the following command: oplshut +reinit
    15. Run ls and identify your database agent binary. A few of the possibilities are:
      • ora100_mv
      • ora100_sv
      • ora90_mv
      • ora90_sv
      • ora81_mv
      • ora81_sv
    16. Confirm that your database agent produces a version string by running passing -? to your agent on the command line. For example:


      bash-2.03$ ./ora90_mv -? Oracle 9.x Database Agent (multi threaded) Version 1.29 as of Mon Nov 13 2006 (Release 6.0 cvsid 00084). Compiled for Solaris 5.8 (sparc-sun-solaris2.8-32) Copyright (C) OpenLink Software.

    17. Test your connection.

    Progress

    "Server handle" errors suggest environment or compatibility problems. If you receive "server handle" errors, take the following action:

    Progress with Single-Tier "Lite" Edition Drivers

    1. Ensure that your Progress database is running in sockets mode.
    2. Ensure that you are passing the correct sockets parameters (-S service name or port, -H hostname or IP address, -N network, -db /path/to/database) in the Database Options field of your DSN. For example:


      -S pro82a -N tcp -H saturnus.example.com -S pro82a -N tcp -H saturnus.example.com -db C:\wrk\my_prog.db

    3. Ensure the value passed to -S is defined with the same name and number in the services file on the clients on the Progress host.
    4. Leave the Server Options field blank.
    5. If you have a Windows client, search it for progress.ini. Place a copy of progress.ini in your client's %WINDOWS% directory. (Normally this directory is either located at C:\Windows\ (Windows 95/98/ME) or C:\WINNT\ (Windows NT/2000/XP/2003), but it may be located elsewhere.)
    6. Add the full path to your local Progress \bin directory to your System PATH variable.
    7. If using IIS:
      1. Create a new folder, e.g., C:\temp\, and ensure that the "Everyone" group has "Full Control" over this folder.
      2. Add -T c:\temp (modified as needed to reflect the folder you just created) to Session Options, following the default -d mdy entry, in the ODBC Data Source --


        -d mdy -T c:\temp

    8. Test your connection.

    Progress with Multi-Tier Drivers

    1. Determine if your Progress database is running in sockets or shared memory mode.
    2. If your database is running in shared memory mode, leave the Database Server or DB Connect Options field of your Data Source blank.
      • If your database is running in sockets mode, pass the sockets parameters (-S, -H, -N, -db, respectively for Service, Host, Network, and database). For example:


        -S pro82a -N tcp -H saturnus.example.com -S pro82a -N tcp -H saturnus.example.com -db C:\wrk\my_prog.db

    3. Use a text editor to open the Broker Rulebook (typically found at ~/openlink/bin/oplrqb.ini, alongside the Broker executable, oplrqb).
    4. Locate the Environment corresponding to the relevant Agent Template, typically [generic_proxxx]. For example:


      [Environment PROGRESS82A] ;TABLEVIEW = ;TABLEVIEW_QUALIFIER = Y ;DEADLOCK_TIMEOUT = 60 ; Seconds to wait for lock to release ;INSERT_LOGICAL = Y ;UPDATE_LOGICAL = Y ;MIN_FIELD_LEN = ;MAX_FIELD_LEN = CURSOR_SENSITIVITY = LOW DLC = D:\DBS\Progress\Pro82a PATH = D:\DBS\Progress\Pro82a\BIN;D:\WINNT\System32

    5. Confirm that the environment variables (DLC, PATH) are correct for your environment.
    6. Save any changes and exit the file.
    7. Restart your Request Broker.
    8. Test your connection.

    Evidence

    • Data Source Attributes
    • Exact DBMS Version (e.g., Progress 8.1A04, Oracle 8.1.7.3)
    • Single-Tier Driver Version, Date, and File Details

    Referenced by...