Search This Blog

2022-01-28

IBM Informix Startup Problem: ERROR: Could not initialize the security subsystem. Please ensure that this account has the necessary privileges and ensure INFORMIXSERVER value exists in the registry and environment

Product: IBM Informix
Version: 10.x - 12.x
Related Product: Cognos Analytics 11.x

Cognos Analytics server bundled with Informix DB server 12.x, if you choose to use build-in DB server as Cognos' Content Database's daemon.

This post contains troubleshooting in startup this Informix DB daemon in Windows, by illustrating a problem after a hostname change.

I will use the Informix 12.10.FC5 setting by using Cognos Analytics 11.0.5 Easy Install option that created following variables/setting:

  • INFORMIXSERVER cognoscm
  • Local Windows user to start Informix = informix
  • OS = Windows

I will summarize the steps to change hostname, which if you missed (or don't aware of it), then you will get following error when manually starts up Informix (as Windows Services won't give you much detail, including Windows Event Viewer):

1. Run cmd
2. cd cognos_home\informix
3. Run: ol_cognoscm.bat (to set required Informix env variables)
4. cd cognos_home\informix\bin
5. Run: onstat (to show DB running status)

ERROR: Could not initialize the security subsystem. Please ensure that this account has the necessary privileges and ensure INFORMIXSERVER value exists in the registry and environment

6. echo %informixserver% (to confirm its value set to cognoscm, default)
7. Since informixserver variable is set, it become clueless why it can't startup

The root cause that it can't starts up will be 2:

1. Local machine account "informix" password expired. Checks with Windows lusrmgr.msc (Local Users and Groups Manager) GUI to reset its password, and allow login
2. Windows Service name "informix IDS - ol_cognoscm" password mismatch, or removed. Enters in tab "Log On" with account ".\informix" and password set in #1 above
3. Registry below points to wrong hostname
3.1. HKLM\SOFTWARE\Informix\Online\ol_cognoscm (name base on %INFORMIXSERVER% above)\Security\Users\Usernames\[hostname]\Administrator
3.2. HKLM\SOFTWARE\Informix\Online\ol_cognoscm (name base on %INFORMIXSERVER% above)\Security\Users\Usernames\[hostname]\informix
3.3. HKLM\SOFTWARE\Informix\Online\ol_cognoscm (name base on %INFORMIXSERVER% above)\Security\Users\Usernames\[hostname]\UID6 -> [hostname]\informix
3.4. HKLM\SOFTWARE\Informix\Online\ol_cognoscm (name base on %INFORMIXSERVER% above)\Security\Users\Usernames\[hostname]\UID6 -> [hostname]\Administrator
3.5. HKLM\SOFTWARE\Informix\Online\ol_cognoscm (name base on %INFORMIXSERVER% above)\Security\IXDBSA Group\Domain -> [hostname]
3.6. HKLM\SOFTWARE\Informix\Online\ol_cognoscm (name base on %INFORMIXSERVER% above)\Security\

When you change Windows hostname, you need to change Windows Registry under HKLM\SOFTWARE\Informix\Online\ol_cognoscm

If you changed INFORMIXSERVER value in environment variable, then corresponding registry needs to create in HKLM\SOFTWARE\Informix\Online\[new INFORMIXSERVER  value]

You will need to run cognos_home\informix\bin\ntchname -m -o [old hostname] -n [new hostname] as per IBM KB https://www.ibm.com/support/pages/after-renaming-windowstm-server-bundled-informix-database-server-will-not-start-easy-installation with Windows hostname change (separate KB for UNIX)

"ntchname" utility will change most hostname in the registry. Verify it is changed by checking following registry value

  • HKLM\SOFTWARE\Informix\SQLHOSTS\ol_cognoscm_drda (name base on %INFORMIXSERVER% above) -> HOST. The hostname will contains a "*" as the first character followed by the hostname (this section was not changed by "ntchname" utility)
  • File [cognos_home]\informix\etc\sqlhosts (file name is referred in Windows registry under HKLM\SOFTWARE\Informix\Online\ol_cognoscm\Environment > INFORMIXSQLHOSTS), value of old hostname should be replaced with new hostname. One line for port 9080 (default), and one line for port 9110 (default)
Informix log file (installed/setup by Cognos Analytics 11.0.5): [cognos home]\informix\ol_cognoscm.log
On hostname change troubleshooting, following will log if it is using old hostname:

08:46:56  Dataskip is now OFF for all dbspaces
08:46:57  Init operation complete - Mode Online
08:46:57  Checkpoint Completed:  duration was 0 seconds.
08:46:57  Fri Jan 28 - loguniq 66, logpos 0xfa40c0, timestamp: 0xf607d4 Interval: 607

08:46:57  Maximum server connections 0 
08:46:57  Checkpoint Statistics - Avg. Txn Block Time 0.008, # Txns blocked 0, Plog used 24, Llog used 1

08:46:57  On-Line Mode
08:47:00  Assert Warning: Unable to bind to the port (9110) on the host (*[old hostname]) for the server (ol_cognoscm).
08:47:00  IBM Informix Dynamic Server Version 12.10.FC5
08:47:00   Who: Session(4, informix@, 0, 0000000000000000)

No comments: