ORA-12705: Cannot access NLS data files or invalid environment specified

Product:
Cognos Analytics 11.0.12
Microsoft Windows Server 2016
Oracle 12 Database

Issue:
After changing the IBM Cognos service to use a windows service account instead of local system, the Cognos Analytics service does not start.

Error Message:
15:42:12, ‘LogService’, ‘StartService’, ‘FAILED’.
15:42:12, ‘LogService’, ‘StartService’, ‘Success’.
15:42:12, CAF-WRN-0010 CAF input validation enabled.
15:42:12, CAF-WRN-0021 CAF Third Party XSS checking disabled.
15:42:17, ‘ContentManager’, ‘getActiveContentManager’, ‘Failure’.
DPR-CMI-4006 Unable to determine the active Content Manager. Will retry periodically.
15:42:17, CM-CFG-5063 A Content Manager configuration error was detected while connecting to the content store. CM-CFG-5036 Content Manager failed to connect to the content store. The connection string is “jdbc:oracle:thin:@servername.domain.com:1521/instancename.domain.com”. The error encountered is: “ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid environment specified ” Cause: ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid environment specified Stack trace: java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid environment specified at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)

Solution:
Change the region settings on the server for the Service account to English (United States).

More Information:
The Oracle driver have a NLS setting in registry, the windows region setting need to match this value to make the Cognos service to start.

Start REGEDIT and go to [HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\KEY_OraClient12Home1] check there the value “NLS_LANG”=”AMERICAN_AMERICA.WE8MSWIN1252”.

http://www.dba-oracle.com/t_ora_12705_resolution.htm