Troubleshoot the listener ‌

If users are unable to connect, the listener may not have started successfully.

Validate listener and Pool Management executables‌

Dimensions CM requires specific library dependencies (and DLLs on Windows). To validate, login as the owner of the installation (dmsys by default), set up the environment, and run the following executables from the command prompt:

  • Windows:

    dmlsnr 
    dmpool 
    dmappsrv
  • UNIX: use the LDD or equivalent command

    dmpool 
    dmappsrv

If any of these executables fail to run due to library or DLL loading errors, you must determine the cause of these errors before you can successfully run Dimensions CM. Common causes include running on a non-supported OS or failing to set up Dimensions CM correctly. If reinstalling Dimensions CM does not solve the issue, contact Support.

Validate log-in details‌

If the login information you supplied during installation are incorrect, the Listener may fail to start. You can verify the login details with a set of initialization parameters that trace the Listener and provide information on what the cause of failure might be. For instructions on how to activate this listener tracing, see Enable Dimensions listener tracing‌.

If the logs generated as a result of enabling the listener trace contain errors such as the following, it is possible that either the user name or associated password that you specified during the installation are wrong.

dmpool 2004/01/23 12:25:55 E P3036 T1204 password not set for user xxx\dmsys dmpool 2004/01/23 12:25:55 E P3036 T1204 StartUserProcess failed with 1326, Logon failure: unknown user name or bad password.
dmpool 2004/01/23 12:25:55 E P3036 T1204 xxx\xxx/
*****, invalid user or password
dmpool 2004/01/23 12:25:55 E P3036 T1204 Cannot initialize pool dmpool 2004/01/23 12:25:55 L P3036 T1204 Exiting
dmpool 2004/01/23 12:33:26 L P2208 T3648 DBS process created, id 928 dmpool 2004/01/23 12:33:26 L P2208 T3648 write message to process 928 dmpool 2004/01/23 12:33:26 L P2208 T3648 read message from process 928 dmpool 2004/01/23 12:33:26 E P2208 T3648 dmappsrv initialization failed, process 928
dmpool 2004/01/23 12:33:26 E P2208 T3648 Cannot initialize pool dmpool 2004/01/23 12:33:26 L P2208 T3648 Exiting

You can correct these details as follows:

  • The username is specified by the -user parameter in the $installdir/ dfs/listener.dat file (UNIX server or agent) or %installdir%\dfs\listener.dat file (Windows agent). If this value is incorrect, edit this file to change the specified user.

  • To reset the associated user password used by Dimensions CM, run the following commands as the administrator of the Dimensions CM installation:

    dmpasswd <username> -del
    dmpasswd <username> -add -pwd <newPasswd>

    where <username> is the OS user and <newPasswd> is the current password for this user.

Validate environment variables‌

Verify that your installdir variable is pointing to the correct installation and that the executables in the path are the correct ones. You might have earlier versions of executables from previous installations that are being picked up first. Also, ensure that your path is only picking up one installation of Dimensions CM.

Validate the listener socket is available‌

  1. Check that the -service parameter in the $installdir/dfs/ listener.dat file (UNIX server or agent) or %installdir%\dfs\listener.dat file (Windows agent) refers to a valid TCP/IP service name.

  2. Windows only: Check that the socket service number has been specified in the %installdir%/dm.cfg file. The format for this specification is:

    DM_SERVICE_<SERVICE_NAME>_TCP <serviceNo>
  3. Run the command netstat -a and check the output to determine if the socket is already in use. If it is, reset the TCP/IP service number and try again.

  4. If you are using firewalls or other network software/hardware, check that these have been correctly configured to allow communication on your chosen socket/service.

Check the user’s password‌

For the user name that is specified by the -user parameter in the $installdir/dfs/listener.dat file (UNIX server or agent) or %installdir%\dfs\listener.dat file (Windows agent), check that the OS password for that user contains no underscore ("_") characters. If it does, reset the password using the appropriate OS commands and through the dmpasswd utility.

Validate the ODBC DSN for connections‌

If you are using ODBC as the Dimensions CM database connection layer, validate that the name of the user specified by the -user parameter in the $installdir/dfs/listener.dat file (UNIX server or agent) or %installdir%\dfs\listener.dat file (Windows agent) is not the same as your DSN name. Failure to do so may cause ODBC connection errors to occur.

Check SQL Net authentication errors‌

Under certain circumstances, Oracle fails to authenticate with your pool user. This occurs on various platforms when using Active Directory for user authentication. You can identify this issue by enabling listener tracing. See Enable Dimensions listener tracing‌.

Check the resulting trace logs in the dmappsrv<processId>.log files to see if you have Oracle connection errors. If you have errors, try changing the SQL Net authentication service as follows:

  1. Edit the contents of the file sqlnet.ora in your %ORACLE_HOME%\NETWORK\ADMIN directory.

  2. If the file contains the line:

    SQLNET.AUTHENTICATION_SERVICES= (NTS)

    Change the line to read:

    SQLNET.AUTHENTICATION_SERVICES= (none)

    and restart the listener.

Remove OPS$ accounts with Oracle and ODBC‌

If the user managing the pool, as defined by the -user parameter in the $installdir/dfs/listener.dat file (UNIX server or agent) or %installdir%\dfs\listener.dat file (Windows agent), has an OPS$ account defined for them in Oracle, this can cause problems with ODBC connectivity. To determine if this user has OPS$ privilege, log in as that user and try the following command:

sqlplus /

If a connection to the database is established, run the following SQL commands to drop that OPS$ account.

SQL> connect system/<system_passwd> 
SQL> drop user OPS$<userId> cascade;

Database connection errors

Verify the connection to the database by enabling listener tracing. For details, see Enable Dimensions listener tracing‌.‌

After attempting to start the listener, look at the output from the log files that are generated. If these log files contain errors similar to the ones shown below, the database details specified by the -dsn parameter in the $installdir/dfs/listener.dat file (UNIX server or agent) or %installdir%\dfs\listener.dat file (Windows agent) may be incorrect. In the case of the Oracle below, the password details for the database have not been correctly registered:

dmappsrv 2004/01/23 12:33:26 E P928 T2516 Pcms error: 
  1, Error: Unable to connect to database "intermediate"
dmappsrv 2004/01/23 12:36:30 E P3864 T3572 Pcms error: 
  1, Error: Schema version check failed for Dimensions database "intermediate"

To verify that the database connection details are correct, use RDBMS utilities such as TNSPING to validate that the DSN you specified exists, and that you can connect to it. Also, test the connection to the database specified through the -dsn parameter in the $installdir/dfs/ listener.dat file (UNIX server or agent) %installdir%\dfs\listener.dat file (Windows agent) file, and validate that the connection works.

Use the Dimensions CM dmdba cpas utility to ensure that the database password for the database you are connecting to has been registered with Dimensions CM. Use help cpas within dmdba for options.

If none of the above help, contact Support.