Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Upgrade Express: "DBI connect(...): need explicit attach before authenticating a user"

    • Article Type: General
    • Product: Aleph
    • Product Version: 20, 21, 22, 23

    Problem Symptoms:
    Upgrade Express

    "2. Check environment" gets the following error message:

    DBI connect('dc02kg0491na.aleph21','ALEPH_ADMIN',...) failed: ORA-24327: need explicit attach before authenticating a user (DBD ERROR: OCISessionBegin) at ...
    A_ERROR: couldn't connect to database
    ;   and

    "3. Run upgrade express", steps 1001-1008, 1010-1014, etc., show "FAILURE", with the same message.

    Cause:
    Case 1: Incorrect $ORACLE_HOME/network/admin/tnsnames.ora.

    Case 2: Incorrect value for $ORA_HOST in $alephe_root/aleph_start which, in turn, incorrectly set $aleph_db, which caused problems with the perl DBI connection (used by the UE and its environment_check script).

     

    Case 3: The FQDN of the database host (aka THE host) wasn't entered in the AIK when setting up the server. 


    Resolution:
    For Case #1, correct $ORACLE_HOME/network/admin/tnsnames.ora per Article 000022973 ("Connection to the database aleph21 via listener hasn't been established yet").

    For Case #2, correct the $ORA_HOST value.

     

    For Case #3:

    a. Working as the user 'oracle', changed $ORACLE_HOME/network/admin/tnsnames.ora. For each occurrence of the string 'service_name=aleph23.libprddb03', changed the string to 'service_name=aleph23.libprddb03.lib.xxx.edu'. 
    b. Commented out the line 'SECURE_REGISTER_LISTENER = (IPC)' at the end of listener.ora - which we believe it is obsolete, and was interfering with Oracle registering with the listener. 
    c. After that,  ran the following commands: 
    lsnrctl reload 
    sqlplus '/as sysdba' 
    alter system register 
    exit 

    d. Tests to verify that you are able to connect to the database through the listener. 

    Additional Information

    In this Case #1, the two occurrences of "service_name=aleph21" in tnsnames.ora needed to be corrected
    from:
    (connect_data=(service_name=aleph21)(server=SHARED)))

    to:
    (connect_data=(service_name=aleph21.dc02kg9999na)(server=SHARED)))


    • Article last edited: 31-Mar-2016